/// <summary> /// Convierte un numero binario a numero decimal. /// Valida previamente que el string sea número y binario. /// </summary> /// <param name="binario"></param> /// <returns>Retorna el numero convertido a decimal en tipo string</returns> public static string BinarioDecimal(string binario) { int resultado = 0; string retorno; int num; char c; if (Numero.EsBinario(binario)) { for (int i = binario.Length - 1; i >= 0; i--) { c = binario[i]; num = (int)Char.GetNumericValue(binario[i]); resultado += num * (int)(Math.Pow(2, (binario.Length - 1) - i)); } retorno = resultado.ToString(); } else { retorno = "Valor inválido"; } return(retorno); }
public static string BinarioDecimal(string binario) { //Numero auxNum = new Numero(); string ret; double retNum = 0; if (Numero.EsBinario(binario) == true) { string cadenaInvertida = ""; for (int i = binario.Length - 1; i >= 0; i--) { cadenaInvertida += binario[i]; } for (int i = 0; i < cadenaInvertida.Length; i++) { if (cadenaInvertida[i] == '1') { retNum += (double)Math.Pow(2, i); } } ret = Math.Abs(retNum).ToString(); } else { ret = "Valor inválido"; } return(ret); }
/// <summary> /// Convierte de binario a decimal el contenido del resultado /// </summary> /// <param name="binario"></param> /// <returns></returns> public static string BinarioDecimal(string binario) { string retorno = "Valor Invalido"; int auxNum; Numero num1 = new Numero(); if (num1.EsBinario(binario)) { auxNum = Convert.ToInt32(binario, 2); retorno = auxNum.ToString(); } return(retorno); }
/// <summary> /// Conversor de Binario A Decimal /// </summary> /// <param name="binario">Ingreso del binario en formato String</param> /// <returns>String con la conversión de ser correcta | Error = "No es binario"</returns> public string BinarioDecimal(string binario) { Numero numb = new Numero(); double total = 0; if (numb.EsBinario(binario)) { for (int i = 0; i < binario.Length; i++) { if (binario[i] == '1') { total = total + (Math.Pow(2, (binario.Length - i - 1))); } } return(total.ToString()); } return("No es Binario"); }
/// <summary> /// Convierte un numero binario en decimal. /// </summary> /// <param name="binario">Tipo string - Valor a convertir</param> /// <returns>Tipo string - Retorna el valor binario en decimal, de no ser binario retorna "Valor invalido"</returns> public static string BinarioDecimal(string binario) { if (Numero.EsBinario(binario)) { int resultado = 0; char[] array = binario.ToCharArray(); Array.Reverse(array); for (int i = 0; i < array.Length; i++) { if (array[i] == '1') { resultado += (int)Math.Pow(2, i); } } return(resultado.ToString()); } else { return("Valor invalido"); } }
/// <summary> /// Convierte de un numero binario a decimal /// </summary> /// <param name="binario">Cadena numerica binaria</param> /// <returns>[Valor decimal] Si puede convertirse [Valor invalido] si "binario" no es un numero binario</returns> public static string BinarioDecimal(string binario) { //valida que sea binario if (Numero.EsBinario(binario)) { double numeroDecimal = 0; for (int i = binario.Length - 1; i >= 0; i--) { // Si el valor en la posicion [i] es 1 calcula el valor if (binario[i] == '1') { numeroDecimal += Math.Pow(2, (binario.Length - 1 - i)); } } return(numeroDecimal.ToString()); // Resultado convertido a string } else { return("Valor invalido"); // No era un numero binario } }
/// <summary> /// Convierte un numero de tipo string de binario a decimal /// </summary> /// <param name="numBinario"> string numero a convertir </param> /// <returns> Retorna el calor decimal en string si pudo convertirlo, o "Valor invalido", si no pudo. </returns> public string BinarioDecimal(string numBinario) { int numDecimal = 0; Numero num = new Numero(); if (num.EsBinario(numBinario)) { for (int i = 0; i < numBinario.Length; i++) { char posicion = numBinario[numBinario.Length - (i + 1)]; // +1 porque el ultimo char es \0 if (posicion.Equals('1')) // de atras hacia adelante { numDecimal += (int)Math.Pow(2, i); } } return(numDecimal.ToString()); } else { return("Valor inválido"); } }
/// <summary> /// Realiza el pasaje de binario a decimal. /// La conversion se realiza sobre la parte entera y el valor absoluto del numero recibido /// </summary> /// <param name="binario">string cadena de caracteres con el numero binario a converir</param> /// <returns>string Si el parametro pasado como string no era un vinario /// se retorna "Valor invalido". Caso contrario se retorna /// el decimal corespondiente a la conversion. /// </returns> public static string BinarioDecimal(string binario) { int numDecimal = 0; string retorno; int bit; int i = 0; if (Numero.EsBinario(binario)) { foreach (char c in binario) { bit = int.Parse(c.ToString()); numDecimal += bit * (int)(Math.Pow(2, (binario.Length - 1) - i)); i++; } retorno = numDecimal.ToString(); } else { retorno = "Valor inválido"; } return(retorno); }
/// <summary> /// Convierte, de ser posible, un numero Binario en decimal. /// </summary> /// <param name="binario"></param> /// <returns>Retorna en formato string el numero decimal. De recibir un valor invalido retorna "Valor inválido".</returns> public static string BinarioDecimal(string binario) { if (!Numero.EsBinario(binario)) { return("Valor inválido"); } else { int resultado = 0; int aux = binario.Length - 1; //uso aux como indice para recorrer el string desde el final for (int i = 0; i < binario.Length; i++) //uso i como potencia { if (binario[aux] == '1') { resultado += (int)Math.Pow(2, i); } aux--; } return(resultado.ToString()); } }
/// <summary> /// Convierte un numero binario a decimal /// </summary> /// <param name="binario"></param> /// <returns> /// Devuelve el numero decimal en formato string /// En caso de que la cadena no sea un binario valdo, devuelve el mensaje valor invalido /// </returns> public static string BinarioDecimal(string binario) { string retorno; int largo = binario.Length; int numAux; double numResult = 0; if (Numero.EsBinario(binario)) { for (int i = 1; i <= largo; i++) { numAux = binario[i - 1] - '0'; //'0' es 48, al restarlo con cualquier numero, por ejemplo '9' es 57, entonces 57 - 48 = 9 //i-1 porque quiero el indice 0 numResult += (numAux * Math.Pow(2, largo - i)); //Elevo el caracter 0 o 1 por la posicion en la que esta, //pongo - i porque quiero que sea 4, despues 3, 2, 1, 0 } retorno = numResult.ToString(); } else { retorno = "Valor invalido"; } return(retorno); }