Inicio · Parte 01 — Aritmética computacional y representación numérica
1 dígito hexadecimal = 4 bits
1 dígito octal = 3 bits
Los programadores usan hexadecimal por una razón puramente práctica: cada dígito hexadecimal corresponde exactamente a 4 bits, así que convertir entre binario y hex se hace por grupos, sin dividir nada. 1101 0110 es D6 porque 1101 es 13 (D) y 0110 es 6. En octal ocurre lo mismo con grupos de 3 bits.
Esta correspondencia solo funciona porque 16 = 2⁴ y 8 = 2³. Con base 10 no hay agrupación posible, y por eso convertir decimal ↔ binario requiere el algoritmo de divisiones de la clase 022 mientras que hex ↔ binario es una tabla de 16 entradas.
El hexadecimal es además compacto: un byte se escribe con dos dígitos en lugar de ocho, y una dirección de 32 bits con ocho en lugar de treinta y dos. Por eso aparece en direcciones de memoria, colores CSS (#7c5cff son tres bytes), UUID, hashes y volcados de memoria.
Al leer código conviene reconocer los prefijos: 0b para binario, 0o para octal, 0x para hexadecimal. Python los acepta todos y int(s, base) convierte desde cualquier base entre 2 y 36. Los permisos de Unix (chmod 755) son octal precisamente porque cada dígito codifica tres bits de permiso: lectura, escritura y ejecución.
El mismo número en cuatro bases.
decimal 3 735 928 559
hexadecimal deadbeef
octal 33653337357
binario 11011110101011011011111011101111
Agrupación hex ← binario (grupos de 4, desde la derecha):
1101 1110 1010 1101 1011 1110 1110 1111
d e a d b e e f ✓
Bits necesarios: 32
deadbeef es un valor centinela clásico en depuración: es hexadecimal legible y difícilmente aparece por accidente en memoria.
La misma cantidad en base 2, 8, 10 y 16.
python classes/part-01-aritmetica-computacional-y-representacion-numerica/023-binario-octal-y-hexadecimal/lab.py
compmath run 023
decimalbinariooctalhexadecimaldigitos_binariosun_hex_equivale_a_bitsun_octal_equivale_a_bits{
"decimal": 3735928559,
"binario": "11011110101011011011111011101111",
"octal": "33653337357",
"hexadecimal": "deadbeef",
"digitos_binarios": 32,
"un_hex_equivale_a_bits": 4
}
Direcciones de memoria, colores, hashes, UUID, permisos Unix y protocolos binarios. Leer un volcado hexadecimal es una habilidad de depuración básica.
float32, bfloat16 y la cuantización a int8 son decisiones de representación. Los NaN en un entrenamiento casi siempre nacen aquí, no en la arquitectura.
9780128203316 verificado en International ISBN Agency (2026-08-19).