viernes, 6 de marzo de 2009

Conversión de números decimales a hexadecimales.

Hola a todos nuevamente a todos los que me visitan en mi blog de Yobo92. En esta ocasión, quiero compartir con ustedes este nuevo e interesante tema de los números hexadecimales.

Bueno, este sistema de numeración es en base 16 (el decimal es base 10, binario base 2, etc.) Aquí, en hexadecimal lo que se trata es de representar los primeros 16 números (incluyendo el cero) con un solo dígito. Pero, ¿cómo será posible esto si en el 10 ya son dos dígitos y el sistema es en base a 16? Bien, el número 9 es el último que se representará como un dígito númérico en este sistema, el 10 se representará con la letra A, el 11 con la letra B, y así sucesivamente hasta llegar a saber que 15 es igual a F. Haré una tablita con los valores hexadecimales para que puedan ver los números en decimal con sus respectivos valores hexadecimales:

0 = 0
1 = 1
2 = 2
3 = 3
4 = 4
5 = 5
6 = 6
7 = 7
8 = 8
9 = 9
10 = A
11 = B
12 = C
13 = D
14 = E
15 = F

(aunque el sistema, como dije anteriormente es base a 16, llego hasta 15, porque tomamos el cero en cuenta, entonces del cero al quince hay ya 16 valores)

Conversión de decimales a hexadecimales.

Bueno, este proceso es muy sencillo y muy parecido a la conversión de decimales a binarios que publiqué anteriormente. Utilizaremos el método de divisiones sucesivas entre 16, fijando nuestra atención sobre todo en los residuos, ya que de ahí saldrá nuestro número en hexadecimal.

En las divisiones, no usaremos decimales y dejaremos de dividir hasta que el dividendo sea menor que el divisor. Al terminar la operación, al igual que con los binarios, leeremos los residuos desde el último hasta el primero.

Haré un ejemplo con el valor 192.

192/16 = 12, con residuo 0
12/ 16 = 0, con residuo 12 (cuando el dividendo no se pueda dividir entre el divisor, el cociente automáticamente será 0 y el dividendo pasará a ser el residuo)

Como el último residuo es 12 (no se puede representar solamente con un dígito), entonces veremos su equivalente en hexadecimal en la tabla que mostré anteriormente (12 = C)

Resultado: 192 = C0


Otro ejemplo con el valor 1024.

1024/16 = 64, con residuo 0
64/16 = 4, con residuo 0
4/16 = 0, con residuo 4

Resultado: 1024 = 400


Un último ejemplo con el valor de 512.

512/16 = 32, con residuo 0
32/16 = 2, con residuo 0
2/16 = 0, con residuo 2

Resultado: 512 = 200

En estos dos últimos ejemplos, no fue necesario utilizar letras en la formación del valor debido a que los residuos no superaron a 9.


Veamos un ejemplo en donde sí se necesiten letras, hagámoslo con 43,185.

43185/16 = 2699, con residuo 1
2699/16 = 168, con residuo 11
168/16 = 10, con residuo 8
10/16 = 0, con residuo 10

Entonces, nos quedaría que: 43,185 = A8B1


Bueno, espero que esto haya quedado claro, para la próxima publicaré la conversión de hexadecimales a decimales, es muy similar a la conversión de binarios a decimales por cierto. Cualquier duda, consulta o sugerencia, será recibida con gusto.

Saludos.

0 comentarios: