Guía del Conversor de Bases
¿Para qué se usa el hexadecimal?
El hexadecimal se usa allí donde el binario tiene que ser legible por personas: códigos de color CSS, direcciones de memoria, direcciones MAC, códigos de error y firmas de archivo. Se eligió porque un dígito hexadecimal son exactamente cuatro binarios, así que comprime el binario cuatro a uno sin ninguna cuenta.
El problema que resuelve el hexadecimal
Los ordenadores trabajan en binario, pero el binario es incómodo de leer para las personas. Un solo byte son ocho caracteres de unos y ceros, y es facilísimo perder la cuenta en medio.
El decimal se lee bien, pero no encaja en absoluto con el binario: no puedes mirar el 214 y ver nada sobre sus bits.
El hexadecimal está en medio. Es compacto, se lee bien y, como 16 es potencia de 2, encaja exactamente con el binario. Dos caracteres hexadecimales son un byte, siempre.
Códigos de color
El sitio más habitual donde alguien que no programa se encuentra el hexadecimal son los colores CSS, como #FF7F50.
Esos seis dígitos son tres parejas, una por canal de color: FF de rojo, 7F de verde y 50 de azul. Cada pareja es un byte, así que cada canal va de 00 a FF, es decir de 0 a 255.
FF7F50 es rojo al máximo, un poco más de la mitad de verde y algo de azul. Esa combinación es el color coral.
La calculadora de esta página está cargada con FF7F50, para que veas el conjunto como un solo número decimal —16744272— que es lo que en realidad guarda el ordenador.
La forma corta #FFF es una abreviatura en la que cada dígito se duplica, así que significa #FFFFFF, blanco.
Direcciones de memoria
Todo lo que te enseña dónde vive algo en memoria usa hexadecimal: 0x7FFF5FBFF8C0 y similares.
Se usa hexadecimal porque la memoria se organiza en potencias de dos, así que los límites caen en números hexadecimales redondos. Una dirección que acaba en 000 está alineada con una página de 4096 bytes, algo que en hexadecimal se ve al instante y en decimal es invisible.
Si alguna vez has visto un informe de fallo o un depurador, casi todos sus números eran hexadecimales por este motivo.
Otros sitios donde aparece
- Direcciones MAC — seis parejas de dígitos hexadecimales, como 00:1A:2B:3C:4D:5E, que identifican una interfaz de red.
- Códigos de error — los códigos de parada de Windows como 0x0000007B, donde cada bit tiene su significado.
- Firmas de archivo — los primeros bytes de un archivo identifican su tipo. Un PNG siempre empieza por 89 50 4E 47.
- Puntos de código Unicode — se escriben como U+0041 para la «A», o U+1F600 para una cara sonriente.
- Sumas de verificación y hashes — un hash MD5 o SHA se imprime como una cadena larga de dígitos hexadecimales.
Por qué 16 y no otra base
La base tiene que ser potencia de dos para encajar con el binario, así que las candidatas son 4, 8, 16, 32 y siguientes.
La base 4 y la base 8 apenas son más compactas que el binario. La base 32 necesitaría 32 símbolos distintos, lo que obliga a meterse bastante en el alfabeto e invita a confundir caracteres.
La base 16 es el punto justo: una compresión de cuatro a uno y solo seis símbolos extra, de la A a la F, que son inequívocos y fáciles de decir en voz alta.
Además resulta que dos dígitos hexadecimales son exactamente un byte, y el byte es la unidad en torno a la que se construyen los ordenadores. Esa coincidencia fue lo que lo decidió.