jueves, 6 de septiembre de 2012

Paso de binario a hexadecimal y viceversa


Si tenéis que realizar este tipo de conversión, esta forma os resultará fácil y rápida. Este post está pensado para esos intrépidos informáticos del mundo de las redes, en estos momentos de la implantación de las direcciones IPv6 (128 bits en hexadecimal), se supone que con ellas tendremos para todos los habitantes de la tierra y para los marcianos, si el robot Curiosity encuentra alguno.
Bueno, vamos en serio. Primero realizaremos una tabla y en ella pondremos “1” y “0” de la siguiente forma:
Empezamos de izquierda a derecha.
-          Primera columna (vertical) à ocho “0” seguidos de ocho “1”
-          Segunda columna à Cuatro “0”, cuatro “1”, cuatro “0”y cuatro “1”
-          Tercera columna à Dos “0”, dos “1” y así hasta completar los 16 dígitos.
-          Cuarta columna à Alternamos ceros y unos, empezando por “0”, hasta completar los 16 dígitos.
-          Quinta Columna à Pondremos números del 0 al 15 en hexadecimal (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F)
La tabla deberá quedar de la siguiente forma:
                0 0 0 0  | 0
                0 0 0 1  | 1
                0 0 1 0  | 2
                0 0 1 1  | 3
                0 1 0 0  | 4
                0 1 0 1  | 5
                0 1 1 0  | 6
                0 1 1 1  | 7
                1 0 0 0  | 8
                1 0 0 1  | 9
                1 0 1 0  | A
                1 0 1 1  | B 
                1 1 0 0  | C
                1 1 0 1  | D
                1 1 1 0  | E
                1 1 1 1  | F
 
Se puede ver que las cuatro primeras columnas son los números del 0 al 15 en binario.
Bueno, en pocos segundos hemos hecho una tabla de conversión.
Cuando nos den, siempre informáticamente hablando, un byte u octeto para convertir en hexadecimal en dos, 4 bit y 4 bit.
                0 1 1 0 1 1 0 0
                  0 1 1 0    |   1 1 0 0
Ya tenemos dos cuartetos (4 bit) y la tabla de conversión. Con esto ya podemos empezar.
                0 1 1 0  Según la tabla corresponde al número 6 en hexadecimal.
                1 1 0 0  Según la tabla corresponde al número C en hexadecimal.
                               0 1 1 0 1 1 0 0 è 6Ch ó  0X6C
Para escribir los número hexadecimales tenemos que ponerle una “h” al final o “0X” delante si lo hacemos en programación.
Si lo que queremos es pasar de hexadecimal a binario, tomaremos cada cifra del número hexadecimal por separado y buscaremos la equivalencia en la tabla.
Por ejemplo:
                D Ah  è   D   A
                D  Según la tabla corresponde al número 1 1 0 1 en binario
                A  Según la tabla corresponde al número 1 0 1 0 en binario
                               D Ah è   1 1 0 1 1 0 1 0
Fácil, ¿no?
Pues ya está, espero que os sirva de ayuda.
 

No hay comentarios:

Publicar un comentario