Sistema hexadecimal | sistema numérico formado por 16 símbolos (base 16)
El sistema numérico hexadecimal, a menudo abreviado como "hex", es un sistema numérico formado por 16 símbolos (base 16). El sistema numérico estándar se llama decimal (base 10) y utiliza diez símbolos: 0,1,2,3,4,5,6,7,8,9. El hexadecimal utiliza los números decimales y seis símbolos adicionales. No hay símbolos numéricos que representen valores superiores a nueve, por lo que se utilizan letras tomadas del alfabeto inglés, concretamente A, B, C, D, E y F. Hexadecimal A = decimal 10, y hexadecimal F = decimal 15.
Los humanos utilizan mayoritariamente el sistema decimal (base 10) en el que cada dígito puede tener uno de los diez valores entre cero y diez. Esto se debe probablemente a que los humanos tienen diez dedos en las manos. Los ordenadores suelen representar los números en binario (base 2). En binario, cada "dígito binario" se llama bit y sólo puede tener uno de dos valores: uno o cero. Dado que los dos valores posibles de un solo bit representan una quinta parte de la información que pueden transmitir los diez valores posibles de un dígito decimal, las representaciones binarias de valores enteros pueden requerir muchos más bits (binarios) que los dígitos decimales.
Por ejemplo, el valor decimal de tres dígitos 219 requiere ocho bits para ser representado en binario (11011011). A los humanos les resulta incómodo leer, recordar y teclear largas cadenas de bits. El hexadecimal permite que los grupos de cuatro bits se representen más cómodamente con un solo dígito "hex", por lo que el valor binario de ocho bits 11011011 sólo requiere dos dígitos hexadecimales "DB".
La memoria del ordenador se organiza como una matriz de cadenas de bits llamadas bytes. En los ordenadores modernos, cada byte suele contener ocho bits, que pueden representarse convenientemente como dos dígitos hexadecimales. Los ingenieros y los informáticos suelen referirse a cada uno de estos valores de cuatro bits como un nibble (a veces escrito nybble, véase la jerga informática).
Para evitar confusiones con los sistemas de numeración decimal, octal u otros, los números hexadecimales se escriben a veces con una "h" después o "0x" antes del número. Por ejemplo, 63h y 0x63 significan 63 hexadecimal.
Historia
A diferencia de los ordenadores modernos, muchos de los primeros ordenadores tenían bytes de seis bits. Los programadores de esos sistemas solían utilizar un esquema alternativo de agrupación de bits llamado octal. Cada dígito octal representa eficazmente tres bits, y un byte de seis bits puede representarse como dos dígitos octales. Tres bits, cada uno de ellos encendido o apagado, pueden representar los ocho números del 0 al 7: 000 = 0; 001 = 1; 010 = 2; 011 = 3; 100 = 4; 101 = 5; 110 = 6 y 111 = 7.
Valores hexadecimales
El hexadecimal es similar al sistema numérico octal (base 8) porque cada uno puede compararse fácilmente con el sistema numérico binario. El hexadecimal utiliza una codificación binaria de cuatro bits. Esto significa que cada dígito en hexadecimal es lo mismo que cuatro dígitos en binario. El octal utiliza un sistema binario de tres bits.
En el sistema decimal, el primer dígito es el lugar del uno, el siguiente dígito a la izquierda es el lugar del diez, el siguiente es el lugar del cien, etc. En hexadecimal, cada dígito puede tener 16 valores, no 10. Esto significa que los dígitos tienen el lugar del uno, el lugar del dieciséis y el siguiente es el lugar del 256. Así que 1h = 1 decimal, 10h = 16 decimal, y 100h = 256 en decimal.
Valores de ejemplo de números hexadecimales convertidos en binario, octal y decimal.
|
Conversión
De binario a hexadecimal
El cambio de un número de binario a hexadecimal utiliza un método de agrupación. El número binario se separa en grupos de cuatro dígitos empezando por la derecha. A continuación, estos grupos se convierten en dígitos hexadecimales, como se muestra en la tabla anterior para los números hexadecimales del 0 al F. Para cambiar de hexadecimal, se hace lo contrario. Cada uno de los dígitos hexadecimales se cambia a binario y se suele eliminar la agrupación.
Binario | Agrupaciones | Hex | |||
01100101 | 0110 | 0101 | 65 | ||
010010110110 | 0100 | 1011 | 0110 | 4B6 | |
1101011101011010 | 1101 | 0111 | 0101 | 1010 | D75A |
Cuando la cantidad de bits de un número binario no es un múltiplo de 4, se rellena con ceros para que lo sea. Ejemplos:
- binario 110 = 0110, que es 6 Hex.
- binario 010010 = 00010010, que es 12 Hex.
De hexadecimal a decimal
Para convertir un número de hexadecimal a decimal, hay dos formas comunes.
El primer método es el más común cuando se convierte manualmente:
- Utilice el valor decimal para cada dígito hexadecimal. Para el 0-9, es lo mismo, pero A = 10, B = 11, C = 12, D = 13, E = 14 y F = 15.
- Mantenga una suma de los números convertidos en cada paso que se indica a continuación.
- Empiece por el dígito hexadecimal menos significativo. Es decir, el dígito del extremo derecho. Este será el primer elemento de la suma.
- Tome el segundo dígito menos significativo. Es decir, junto al dígito del extremo derecho. Multiplique el valor decimal del dígito por 16. Añada esto a la suma.
- Haga lo mismo con la tercera cifra menos significativa, pero multiplíquela por 162 (es decir, 16 al cuadrado, o 256). Añádalo a la suma.
- Continúe para cada dígito, multiplicando cada lugar por otra potencia de 16. (4096, 65536, etc.)
| Ubicación | |||||
6 | 5 | 4 | 3 | 2 | 1 | |
Valor | 1048576 (165 ) | 65536 (164 ) | 4096 (163 ) | 256 (162 ) | 16(161 ) | 1 (160 ) |
El siguiente método se realiza más comúnmente cuando se convierte un número en el software. No necesita saber cuántos dígitos tiene el número antes de empezar, y nunca multiplica por más de 16, pero parece más largo sobre el papel.
- Utilice el valor decimal para cada dígito hexadecimal. Para el 0-9, es lo mismo, pero A = 10, B = 11, C = 12, D = 13, E = 14 y F = 15.
- Mantenga una suma de los números convertidos en cada paso que se indica a continuación.
- Empiece por el dígito más significativo (el del extremo izquierdo). Este es el primer elemento de la suma.
- Si existe otro dígito, multiplique la suma por 16 y añada el valor decimal del siguiente dígito.
- Repita el paso anterior hasta que no haya más dígitos.
Ejemplo: 5Fh y 3425h a decimal, método 1
|
|
|
|
Ejemplo: 5Fh y 3425h a decimal, método 2
|
|
|
|
Preguntas y respuestas
P: ¿Qué es el sistema numérico hexadecimal?
R: El sistema numérico hexadecimal es un sistema de numeración de base 16 formado por 16 símbolos.
P: ¿Cuáles son los diez símbolos utilizados en el sistema decimal (base 10)?
R: Los diez símbolos utilizados en el sistema decimal (base 10) son 0,1,2,3,4,5,6,7,8 y 9.
P: ¿Qué seis símbolos adicionales utiliza el sistema hexadecimal?
R: El hexadecimal utiliza letras tomadas del alfabeto inglés: A, B, C, D, E y F.
P: ¿Cuántos bits contiene un solo byte en los ordenadores modernos?
R: En los ordenadores modernos, cada byte suele contener ocho bits.
P: ¿Cómo llaman los ingenieros y los informáticos a los valores de cuatro bits?
R: Los ingenieros y los informáticos se refieren a los valores de cuatro bits como nibbles (a veces se escribe nybble).
P: ¿Cómo se puede evitar la confusión con otros sistemas de numeración al escribir números hexadecimales?
R: Para evitar confusiones con otros sistemas de numeración al escribir números hexadecimales puede añadir una "h" después o "0x" antes del número. Por ejemplo, 63h o 0x63 significan 63 hexadecimal.