Hexadecimal (base 16): qué es, definición y ejemplos
Hexadecimal (base 16): qué es, definición y ejemplos — Aprende cómo funciona el sistema hex, su relación con binario y decimal, conversiones y usos prácticos en informática y programación.
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 y 9. El hexadecimal añade seis símbolos adicionales: las letras A, B, C, D, E y F del alfabeto inglés, que representan los valores decimales 10, 11, 12, 13, 14 y 15 respectivamente (por ejemplo, hexadecimal A = decimal 10 y hexadecimal F = decimal 15).
Galería de imágenes
3 ImágenesPor qué se usa el hexadecimal
Los humanos usan habitualmente el sistema decimal (base 10), probablemente porque tenemos diez dedos. Los ordenadores, en cambio, funcionan internamente con el sistema binario (base 2). Un solo bit sólo puede ser 0 o 1; por eso las cadenas binarias para representar números o datos suelen ser largas y difíciles de leer. El hexadecimal resulta práctico porque agrupa cuatro bits en un solo dígito hex: cada dígito hex representa exactamente un nibble (4 bits). Así, por ejemplo, el byte de ocho bits 11011011 puede escribirse en hexadecimal como DB, que es mucho más fácil de leer y recordar.
Relación entre binario, decimal y hexadecimal
Regla general: cada posición en hexadecimal es una potencia de 16 (16^0, 16^1, 16^2, ...). Para convertir un número hexadecimal a decimal, multiplica cada dígito por la potencia de 16 correspondiente y suma los resultados.
Ejemplo: convertir hexadecimal DB a decimal:
- D = 13 → 13 × 16^1 = 13 × 16 = 208
- B = 11 → 11 × 16^0 = 11 × 1 = 11
- Total = 208 + 11 = 219 (decimal)
Conversión inversa (decimal 219 → hexadecimal): divide por 16 y toma los restos.
- 219 ÷ 16 = 13, resto 11 → 13 = D, resto 11 = B → resultado DB
Conversión desde binario (ejemplo con 11011011): agrupa los bits en nibbles de derecha a izquierda: 1101 1011 → 1101 = 13 = D; 1011 = 11 = B → DB.
Notación y convenciones
Para evitar confusiones con otros sistemas numéricos existen varias notaciones comunes:
- 0x prefijo: usado en C, C++, Java, Python, etc. (por ejemplo, 0x63).
- h sufijo: frecuente en ensamblador Intel (por ejemplo, 63h).
- $ prefijo: usado en Pascal y algunos ensambladores (por ejemplo, $FF).
- &H prefijo: usado en Visual Basic (por ejemplo, &HFF).
Las letras A–F no distinguen entre mayúsculas y minúsculas en la mayoría de contextos (por ejemplo, ff y FF son equivalentes). En la práctica muchas guías de estilo recomiendan usar mayúsculas para mayor legibilidad.
Usos prácticos del hexadecimal
- Representación compacta de bytes y direcciones de memoria: cada byte (8 bits) equivale a dos dígitos hexadecimales. La memoria del ordenador se organiza en bytes y los programadores suelen mostrar su contenido en hexadecimal; por ejemplo, la cadena de bytes 0x41 0x42 0x43 representa los caracteres ASCII "ABC". bytes
- Códigos de color en web: los colores CSS/HTML usan notación hexadecimal #RRGGBB (por ejemplo, #FF0000 para rojo).
- Representación de valores en criptografía, sumas de comprobación (hashes), identificadores (GUID), y volcado de memoria (hex dump).
- Lectura y depuración de instrucciones máquina y ensamblador; en la la jerga informática se usa mucho el hex para mostrar instrucciones, offsets y máscaras.
Consejos rápidos y herramientas
- Para convertir rápidamente en programación: en Python usa int("FF", 16) → 255 y hex(255) → '0xff'.
- La mayoría de calculadoras científicas y herramientas online convierten entre bases.
- Agrupa bits de a cuatro (nibbles) desde la derecha para pasar fácilmente de binario a hex.
Ejemplos adicionales
- Decimal 255 → hexadecimal: 255 ÷ 16 = 15 resto 15 → 15 = F, resultado FF.
- Decimal 16 → hexadecimal: 16 = 1×16^1 + 0×16^0 → 10 (hex).
- Hexadecimal 1F → decimal: 1×16 + 15 = 31.
- Valor ASCII: 0x41 → decimal 65 → carácter 'A'.
En resumen, el sistema hexadecimal es una forma muy conveniente y compacta de representar información binaria en términos comprensibles para los humanos. Facilita la lectura, el análisis y la manipulación de datos en programación, electrónica y redes.
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
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||
Páginas relacionadas
- Sistema numérico binario
- Sistema numérico octal
- Sistema numérico decimal
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.
Artículos relacionados
Autor
AlegsaOnline.com Hexadecimal (base 16): qué es, definición y ejemplos Leandro Alegsa
URL: https://es.alegsaonline.com/art/43993