/// <summary> /// Convierte un numero binario a decimal. /// </summary> /// <param name="binario"></param> /// <returns>Retorna el binario en Decimal como string</returns> public string BinarioDecimal(string binario) { bool esBinario; //StringBuilder retorno = new StringBuilder(); string retorno = ""; esBinario = EsBinario(binario); if (esBinario) { double entero = 0; int potencia; double acumulador = 0; double potenciaBaseDos = 1; int potenciada = (int)potenciaBaseDos * 2; int enNumero; StringBuilder convertida = new StringBuilder(); //Doy vuelta el número binario asi comienzo desde el principio a "potenciar". convertida.AppendFormat(Numero.Invertir(binario)); entero = double.Parse(convertida.ToString()); for (int i = 0; i < convertida.Length; i++) { //Todas las potencias de 2. potencia = (int)(Math.Pow(2, i)); //Obtengo el Char de la stringbuilder convertida. char intEnChar = convertida[i]; //parseo el char a un entero. enNumero = int.Parse(intEnChar.ToString()); //Acumulo el valor del numero decimal. acumulador += enNumero * potencia; } Console.WriteLine(acumulador); retorno += acumulador.ToString(); } else { retorno = "Valor inválido"; } return(retorno); }