La principal desventaja de los números binarios es que la cadena binaria equivalente a un gran número decimal de base 10 puede ser bastante larga.
Cuando se trabaja con grandes sistemas digitales, como los ordenadores, es común encontrar números binarios que constan de 8, 16 e incluso 32 dígitos, lo que dificulta tanto la lectura como la escritura sin producir errores, especialmente cuando se trabaja con muchos números binarios de 16 o 32 bits.
Una forma común de superar este problema es organizar los números binarios en grupos o conjuntos de cuatro bits (4-bits). Estos grupos de 4 bits utilizan otro tipo de sistema de numeración también comúnmente utilizado en los sistemas informáticos y digitales llamado Números Hexadecimales.
Cadena de Números Hexadecimales
El sistema de numeración «Hexadecimal» o simplemente «Hex» utiliza el sistema de Base de 16 y son una opción popular para representar valores binarios largos porque su formato es bastante compacto y mucho más fácil de entender en comparación con las largas cadenas binarias de 1’s y 0’s.
Al ser un sistema de Base-16, el sistema de numeración hexadecimal utiliza, por tanto, 16 (dieciséis) dígitos diferentes con una combinación de números del 0 al 15. En otras palabras, hay 16 símbolos de dígitos posibles.
Sin embargo, hay un problema potencial con el uso de este método de notación de dígitos causado por el hecho de que los números decimales de 10, 11, 12, 13, 14 y 15 se escriben normalmente utilizando dos símbolos adyacentes. Por ejemplo, si escribimos 10 en hexadecimal, ¿nos referimos al número decimal diez, o al número binario de dos (1 + 0). Para evitar este complicado problema, los números hexadecimales que identifican los valores de diez, once, . , quince se sustituyen por las letras mayúsculas de A, B, C, D, E y F respectivamente.
Entonces en el Sistema de Numeración Hexadecimal utilizamos los números del 0 al 9 y las letras mayúsculas de la A a la F para representar su equivalente numérico Binario o Decimal, empezando por el dígito menos significativo de la derecha.
Como acabamos de decir, las cadenas binarias pueden ser bastante largas y difíciles de leer, pero podemos facilitarnos la vida dividiendo estos grandes números binarios en grupos pares para que sean mucho más fáciles de escribir y entender. Por ejemplo, el siguiente grupo de dígitos binarios 1101 0101 1100 11112 es mucho más fácil de leer y entender que 11010101110011112 cuando están todos agrupados.
En el uso cotidiano del sistema de numeración decimal utilizamos grupos de tres dígitos o 000 del lado derecho para hacer que un número muy grande, como un millón o un billón, sea más fácil de entender y lo mismo ocurre en los sistemas digitales.
Los números hexadecimales son un sistema más complejo que el uso de sólo binario o decimal y se utiliza principalmente cuando se trata de computadoras y ubicaciones de direcciones de memoria. Al dividir un número binario en grupos de 4 bits, cada grupo o conjunto de 4 dígitos puede tener un valor posible entre «0000» (0) y «1111» ( 8+4+2+1 = 15 ), lo que da un total de 16 combinaciones numéricas diferentes de 0 a 15. No olvide que el «0» también es un dígito válido.
Recordamos de nuestro primer tutorial sobre Números Binarios que un grupo de dígitos de 4 bits se llama «nibble» y como también se requieren 4 bits para producir un número hexadecimal, un dígito hexadecimal también puede ser considerado como un nibble, o medio byte. Entonces se requieren dos números hexadecimales para producir un byte completo que va de 00 a FF.
Además, como 16 en el sistema decimal es la cuarta potencia de 2 ( o 24 ), hay una relación directa entre los números 2 y 16 por lo que un dígito hexadecimal tiene un valor igual a cuatro dígitos binarios por lo que ahora q es igual a «16».
Debido a esta relación, cuatro dígitos en un número binario pueden ser representados con un solo dígito hexadecimal. Esto hace que la conversión entre números binarios y hexadecimales sea muy fácil, y el hexadecimal se puede utilizar para escribir grandes números binarios con muchos menos dígitos.
Los números del 0 al 9 se siguen utilizando como en el sistema decimal original, pero los números del 10 al 15 se representan ahora con letras mayúsculas del alfabeto de la A a la F inclusive y la relación entre el decimal, el binario y el hexadecimal se da a continuación.
Números hexadecimales
Número decimal | 4-bit Binary Number | Hexadecimal Number |
0 | 0000 | 0 |
1 | 0001 | 1 |
2 | 0010 | 2 |
3 | 0011 | 3 |
4 | 0100 | 4 |
5 | 0101 | 5 |
6 | 0110 | 6 |
7 | 0111 | 7 |
8 | 1000 | 8 |
9 | 1001 | 9 |
10 | 1010 | A |
11 | 1011 | B |
12 | 1100 | C |
13 | 1101 | D |
14 | 1110 | E |
15 | 11 | F |
16 | 0001 0000 | 10 (1+0) |
17 | 0001 0001 | 11 (1+1) |
Continuando hacia arriba en grupos de cuatro |
Usando el número binario original de arriba 1101 0101 1100 11112 esto se puede convertir ahora en un número hexadecimal equivalente de D5CF que es mucho más fácil de leer y entender que una larga fila de 1’s y 0’s que teníamos antes.
Así que al utilizar la notación hexadecimal, los números digitales pueden escribirse utilizando menos dígitos y con una probabilidad mucho menor de que se produzca un error. Del mismo modo, convertir los números basados en hexadecimal de nuevo en binario es simplemente la operación inversa.
Entonces las principales características de un sistema de numeración hexadecimal es que hay 16 dígitos de conteo distintos de 0 a F con cada dígito que tiene un peso o valor de 16 a partir del bit menos significativo (LSB). Para distinguir los números hexadecimales de los números denarios, se utiliza un prefijo de un «#», (Hash) o un «$» (signo de dólar) antes del valor real del número hexadecimal, #D5CF o $D5CF.
Como la base de un sistema hexadecimal es 16, que también representa el número de símbolos individuales utilizados en el sistema, el subíndice 16 se utiliza para identificar un número expresado en hexadecimal. Por ejemplo, el número hexadecimal anterior se expresa como D5CF16
Contando con números hexadecimales
Así que ahora sabemos cómo convertir 4 dígitos binarios en un número hexadecimal. Pero si tuviéramos más de 4 dígitos binarios, ¿cómo contaríamos en hexadecimal más allá de la letra F final? La respuesta sencilla es empezar de nuevo con otro conjunto de 4 bits de la siguiente manera.
0…a…9, A,B,C,D,E,F, 10…a…19, 1A, 1B, 1C, 1D, 1E, 1F, 20, 21….etc
No te confundas, 10 o 20 NO es diez o veinte es 1 + 0 y 2 + 0 en hexadecimal. De hecho el veinte ni siquiera existe en hexadecimal. Con dos números hexadecimales podemos contar hasta FF que es igual al decimal 255. Asimismo, para contar más alto que FF añadiríamos un tercer dígito hexadecimal a la izquierda, de modo que el primer número hexadecimal de 3 bits sería 10016, (25610) y el último sería FFF16, (409510). El máximo número hexadecimal de 4 dígitos es FFFF16 que es igual a 65.535 en decimal y así sucesivamente.
Representación de un número hexadecimal
MSB | Número hexadecimal | LSB | ||||||
168 | 167 | 166 | 165 | 164 | 163 | 162 | 161 | 160 |
4.3G | 2.6G | 16M | 1M | 65k | 4k | 256 | 16 | 1 |
Esta adición de dígitos hexadecimales adicionales para convertir tanto números decimales como binarios en un Número Hexadecimal es muy fácil si hay 4, 8, 12 o 16 dígitos binarios para convertir. Pero también podemos añadir ceros a la izquierda del bit más significativo, el MSB, si el número de bits binarios no es un múltiplo de cuatro.
Por ejemplo, 110010110110012 es un número binario de catorce bits que es demasiado grande para sólo tres dígitos hexadecimales, pero demasiado pequeño para un número hexadecimal de cuatro. La respuesta es AÑADIR ceros adicionales al bit más a la izquierda hasta que tengamos un conjunto completo de número binario de cuatro bits o sus múltiplos.
Añadir 0’s adicionales a un número binario
Número binario | 0011 | 0010 | 1101 | 1001 |
Número hexadecimal | 3 | 2 | D | 9 |
La principal ventaja de un Número Hexadecimal es que es muy compacto y al utilizar una base de 16 significa que el número de dígitos utilizados para representar un determinado número suele ser menor que en binario o decimal. Además, es rápido y fácil de convertir entre números hexadecimales y binarios.
Números hexadecimales Ejemplo No1
Convierte el siguiente número binario 1110 10102 en su equivalente en número hexadecimal.
Número binario = 111010102 | |||
Agrupa los bits en cuatro empezando por la derecha | |||
= | 1110 | 1010 | |
Encuentra el equivalente decimal de cada grupo individual | |||
= | 14 | 10 | (en decimal) |
Convertir a Hexadecimal utilizando la tabla anterior | |||
= | E | A | (en Hex) |
Entonces el equivalente hexadecimal del número binario
1110 10102 es #EA16 |
Números Hexadecimales Ejemplo No2
Convierte el siguiente número Hexadecimal #3FA716 en su equivalente Binario, y también en su equivalente Decimal o Denario utilizando subíndices para identificar cada sistema de numeración.
#3FA716
= 0011 1111 1010 01112
= (8192 + 4096 + 2048 + 1024 + 512 + 256 + 128 + 32 + 4 + 2 + 1)
= 16,29510
Entonces, el número Decimal de 16,295 puede representarse como:-
#3FA716 en Hexadecimal
o
0011 1111 1010 01112 en Binario.
Resumen de los Números Hexadecimales
Entonces para resumir. El sistema de numeración Hexadecimal, o Hex, se utiliza comúnmente en los sistemas informáticos y digitales para reducir grandes cadenas de números binarios en un conjunto de cuatro dígitos para que podamos entenderlos fácilmente. La palabra «Hexadecimal» significa dieciséis porque este tipo de sistema de numeración digital utiliza 16 dígitos diferentes del 0 al 9, y de la A a la F.
Los números hexadecimales agrupan los números binarios en conjuntos de cuatro dígitos. Para convertir una secuencia binaria en un número hexadecimal equivalente, primero debemos agrupar los dígitos binarios en un conjunto de 4 bits. Estos conjuntos binarios pueden tener cualquier valor desde 010 ( 00002 ) hasta 1510 ( 11112 ) representando el equivalente hexadecimal de 0 a F.
En el siguiente tutorial sobre Lógica Binaria veremos la conversión de cadenas enteras de números binarios en otro sistema de numeración digital llamado Números Octales y viceversa.