Saltar al contenido principal

 none
con c# windows form RRS feed

Todas las respuestas

  • En un ordenador únicamente puedes hacer sumas en binario, que es el único sistema que entiende la CPU. Si tienes datos en otro sistema de numeración, tanto si es octal, como hexadecimal, e incluso en base 10, en todos los casos hay que transformarlo primero a base 2 para que el ordenador lo pueda sumar.

    La forma de hacer esa transformación depende de cuál sea el momento en que se haga. Si los datos son conocidos en tiempo de compilación, se puede escribir el número con el prefijo correspondiente (0x para hexadecimal) y el compilador hará la conversión. Para otros valores, o para hacer la conversión en tiempo de ejecución, puedes usar la función Convert que admite una sobrecarga que indica la base de numeración.

    int a = Convert.ToInt32("14", 8); ; //octal 14 = 12 en base 10
    int b = 0x14; //hexadecimal 14 = 20 en base 10
    int resultado = a + b; //almacenará 32 en binario
    Console.WriteLine(resultado); //Convierte de binario a base 10 para mostrarlo
    

    lunes, 23 de septiembre de 2019 18:29
    Moderador