miércoles, 10 de octubre de 2012

codigo para convertir de hexadecimal a decimal en c sharp


//este algoritmo es implementado en c sharp

        private void BotonConvertir_Click(object sender, EventArgs e)
        {
            string numero = textBox1.Text;
            int y = numero.Length;
            double suma = 0;
            int x;

            for (int i = 0; i < y; i++)
            {
                string n = numero.Substring(i,1);
  //en esta instruccion tomamos el string que es la cadena de caracteres y sacamos una pequeña porcion con esta instruccion, a partir de una posicion especificada por  i , el 1 significa la cantidad de letras que va a tomar apartir de la posicion dada.         
                    switch (n)
                    {
                        case "A":
                         
                                x= 10;
                                suma =  (Math.Pow(16, i) * x)+suma;
                                break;
                         
                        case "B":
                         
                                x=11;
                                suma =   (Math.Pow(16, i) * x)+suma;
                                break;
                         
                        case "C":
                         
                                x=12;
                                suma =(Math.Pow(16, i) * x)+suma;
                                break;
                         
                        case"D" :
                         
                            x=13;
                            suma = (Math.Pow(16, i) * x)+suma;
                            break;
                         
                        case "E":
                         
                                x=14;
                                suma =  (Math.Pow(16, i) * x)+suma;
                                break;
                         
                        case"F" :
                         
                                x=15;
                                suma = (Math.Pow(16, i) * x)+suma;
                                break;
                         
                        default:
                         
                                 x = int.Parse(n);
                                suma = (Math.Pow(16, i) * x)+suma;
                                break;

                    }


             
               }


                  textBox1.Text = suma.ToString();
            }
       
//codigo por paulo escobar

1 comentario:

  1. AMIGO NO PUEDE HACER EXADECIMALES CON DOS LETRAS
    COMO POR EJEMPLO 3E8 QUE ES 1000 EN DECIMAL

    ResponderEliminar