Decimal a hexadecimal: la taquigrafía que de verdad leen los programadores
Qué hace esta conversión
Escribe un número en base 10 usando la base 16, con los dieciséis dígitos de 0 a 9 y de A a F. El hexadecimal no es otro tipo de número, solo una forma más corta de escribir los mismos bits: 1 dígito hexadecimal cubre exactamente 4 dígitos binarios, así que un valor de 32 bits ocupa ocho caracteres en lugar de treinta y dos. Esa compresión es la razón de que la notación siga viva.
Por qué existen las letras de la A a la F
La base 16 necesita dieciséis símbolos de dígito y solo diez están en uso corriente, así que las seis primeras letras del alfabeto cubren el hueco: A es diez, B es once y así hasta F para quince. Las letras son dígitos, no abreviaturas, y por eso FF significa quince veces 16 más quince, es decir 255, y no tiene nada que ver con la palabra «quince».
Tabla de conversión de decimal a hexadecimal
Valores decimales que salen continuamente en color, direccionamiento y máscaras de permisos, con su forma hexadecimal. Cifras como 255 y 65535 marcan la frontera entre campos de uno y de dos bytes.
| Decimal | Hexadecimal |
|---|---|
| 0 | 0 |
| 1 | 1 |
| 7 | 7 |
| 8 | 8 |
| 10 | A |
| 15 | F |
| 16 | 10 |
| 31 | 1F |
| 64 | 40 |
| 100 | 64 |
| 127 | 7F |
| 200 | C8 |
| 255 | FF |
| 1000 | 3E8 |
Códigos de color y direcciones de memoria
Un color web como #1E90FF son tres bytes —rojo, verde y azul— escritos como seis dígitos hexadecimales, y cada pareja es un canal de 0 a 255. La misma notación aparece en las direcciones de memoria, donde 0x7FFE es mucho más fácil de comparar de un vistazo que su forma decimal. En los dos casos gana el hexadecimal porque sus dígitos se alinean con los límites de byte: dos dígitos, un byte, siempre.
Acertar con las mayúsculas
Este conversor imprime en mayúsculas, siguiendo la convención de los listados en C, las hojas de datos y la mayor parte de la documentación. Las minúsculas son igual de válidas y aparecen en URL y en algunos literales de lenguajes, y el campo de entrada acepta ambas. Mezclarlas dentro de un mismo valor es legal pero se lee mal, así que elige una y no la cambies.
Preguntas frecuentes
¿Cómo paso de decimal a hexadecimal sin calculadora?
Divide entre 16, anota el resto como dígito hexadecimal y repite con el cociente hasta que llegue a cero; después lee los dígitos del último al primero. Para 255: 255 ÷ 16 es 15 con resto 15, y 15 ÷ 16 es 0 con resto 15, así que el resultado es FF. Los restos mayores que nueve se escriben con las letras de la A a la F.
¿Por qué se usa hexadecimal en lugar de binario?
Porque 4 dígitos binarios corresponden exactamente a 1 dígito hexadecimal, así que la conversión es una sustitución directa sin aritmética. Es la misma información escrita de forma compacta y legible, y por eso los depuradores, los desensambladores y las herramientas de red recurren a ella.
¿Qué significa el prefijo 0x?
Es una marca que usan C y muchos otros lenguajes para decir que los dígitos que siguen van en hexadecimal, de modo que 0x20 es treinta y dos y no veinte. Este conversor acepta el prefijo 0x a la entrada y no lo necesita a la salida, porque la base ya queda clara en la página.
¿Cuántos dígitos hexadecimales necesita un valor de 64 bits?
Dieciséis, y este conversor los maneja de forma exacta. Un número de 64 bits supera lo que la coma flotante representa con precisión, así que una herramienta que usara números corrientes devolvería un resultado falso pero creíble para algo como FFFFFFFFFFFFFFFF, que en realidad es 18446744073709551615. Trabajar con enteros exactos evita por completo ese problema.
¿Importan las mayúsculas en los dígitos hexadecimales?
No. FF y ff son el mismo valor y el campo de entrada acepta cualquiera de las dos. La salida va en mayúsculas por convención, igual que en la mayor parte del código fuente, la documentación y los manuales de hardware.