El hexadecimal en una frase
El hexadecimal es un sistema de numeración posicional en base 16: cada dígito vale 16 veces más que el dígito de su derecha, y los valores del 10 al 15 se escriben con las letras A a F. Para indicar que un número está en hex, los programadores escriben 0x1A (C, Java, JavaScript, Python), #1A2B3C en los colores CSS, 1Ah en ensamblador o 1A₁₆ en matemáticas.
Dígitos hexadecimales del 0 al 15
| Decimal | Hex | Binario | Decimal | Hex | Binario |
|---|---|---|---|---|---|
| 0 | 0 | 0000 | 8 | 8 | 1000 |
| 1 | 1 | 0001 | 9 | 9 | 1001 |
| 2 | 2 | 0010 | 10 | A | 1010 |
| 3 | 3 | 0011 | 11 | B | 1011 |
| 4 | 4 | 0100 | 12 | C | 1100 |
| 5 | 5 | 0101 | 13 | D | 1101 |
| 6 | 6 | 0110 | 14 | E | 1110 |
| 7 | 7 | 0111 | 15 | F | 1111 |
Cómo contar en hexadecimal
En hex se cuenta igual que en decimal, pero se pasa a la siguiente posición después de la F en lugar de después del 9: … 8, 9, A, B, C, D, E, F, 10, 11 … 19, 1A … 1F, 20 … FF, 100. Aquí 10 significa dieciséis y 100 significa 16 × 16 = 256. Dos dígitos hex cubren un byte (00–FF = 0–255), cuatro dígitos llegan hasta FFFF = 65,535 y ocho dígitos hasta FFFFFFFF = 4,294,967,295.
Por qué la informática usa el hexadecimal
Internamente todo se almacena en binario, pero las largas filas de ceros y unos son difíciles de leer para las personas y fáciles de escribir mal. Como 16 = 2⁴, un dígito hex equivale exactamente a cuatro bits (un nibble) y dos dígitos hex, a un byte. Convertir entre hex y binario es una simple consulta dígito a dígito, y el hex es cuatro veces más corto: 1101 1110 1010 1101 es simplemente DEAD. El decimal no tiene una relación tan directa con el binario, y por eso casi nunca se usa para datos en bruto.
Convertir de hexadecimal a decimal y viceversa
- Hexadecimal a decimal: multiplica cada dígito por su potencia de 16 y suma:
2F= 2 × 16 + 15 = 47, y1A3F= 1 × 4096 + 10 × 256 + 3 × 16 + 15 = 6719. - Decimal a hexadecimal: divide entre 16 sucesivamente y lee los restos al revés: 200 ÷ 16 = 12, resto 8, y 12 = C, así que 200 =
C8. - Hexadecimal a binario: sustituye cada dígito por sus 4 bits:
2F=0010 1111.
Nuestros conversores hacen todo esto al instante y muestran cada paso.
Dónde se usa el sistema hexadecimal
- Colores web:
#FF6347es rojoFF, verde63y azul47. - Direcciones de memoria: los depuradores y los informes de fallos muestran punteros como
0x7FFE5A3C. - Direcciones MAC: seis bytes como
00:1A:2B:3C:4D:5Eidentifican las tarjetas de red. - Direcciones IPv6: ocho grupos de cuatro dígitos hex, por ejemplo
2001:db8::1. - Unicode: cada carácter tiene un punto de código en hex:
U+00E9es é yU+1F600es 😀. - Hashes e identificadores: un hash SHA-256 tiene 64 caracteres hex, y los UUID y los ID de commit de Git se escriben en hex.
- Volcados hex: los editores hexadecimales muestran el contenido de los archivos byte a byte; todo PDF empieza por
25 50 44 46(“%PDF”). - Códigos de error: Windows muestra errores como
0x80070005(acceso denegado).
Comparativa: hexadecimal, decimal, octal y binario
| Sistema | Base | Dígitos | 255 se escribe | Uso típico |
|---|---|---|---|---|
| Binario | 2 | 0–1 | 11111111 | Hardware, flags de bits |
| Octal | 8 | 0–7 | 377 | Permisos de archivos en Unix (chmod 755) |
| Decimal | 10 | 0–9 | 255 | Números cotidianos |
| Hexadecimal | 16 | 0–9, A–F | FF | Bytes, colores, direcciones, hashes |
Números negativos en hexadecimal
El hex en sí no tiene un signo especial, así que los números negativos suelen almacenarse en complemento a dos: el bit más alto de un valor de tamaño fijo indica que es negativo. Como byte con signo, 7F es 127, 80 es −128 y FF es −1; como entero de 32 bits, FFFFFFFF es −1. En matemáticas y en nuestra calculadora también puedes escribir simplemente un signo menos: −1A = −26.
Preguntas frecuentes
¿Por qué el sistema hexadecimal usa letras?
La base 16 necesita dieciséis dígitos de un solo carácter, pero solo hay diez cifras. Las letras A–F representan los valores 10–15. Las mayúsculas y las minúsculas significan lo mismo: ff = FF = 255.
¿Qué significa 0x delante de un número?
Indica que el número es hexadecimal en C, C++, Java, JavaScript, Python y muchos otros lenguajes: 0x10 es 16, no diez. En cambio, CSS usa # para los colores, y el código ensamblador suele añadir una h al final (10h).
¿El hexadecimal es lo mismo que Base64?
No. El hex escribe cada byte como dos caracteres de 0–9 y A–F, así que los datos duplican su tamaño, pero siguen siendo fáciles de leer byte a byte. Base64 usa 64 caracteres y agrupa 3 bytes en 4 caracteres, lo que es más compacto (alrededor de un 33% de tamaño extra), pero no se puede leer byte a byte.
Última actualización: