Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        /// <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);
        }
Beispiel #4
0
        /// <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");
        }
Beispiel #5
0
 /// <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");
     }
 }
Beispiel #6
0
        /// <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
            }
        }
Beispiel #7
0
        /// <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");
            }
        }
Beispiel #8
0
        /// <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);
        }
Beispiel #9
0
        /// <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);
        }