¿Por qué hexadecimal?
Parte de la sección Fundamentos del Journey de Assembly de Coddy — lección 10 de 45.
Ahora sabes que las computadoras usan binario. ¿Entonces por qué los programadores de ensamblador rara vez escriben binario directamente?
El problema con el binario:
Los números binarios son muy largos. Mira este ejemplo:
| Número | Binario |
|---|---|
| 255 | 11111111 |
| 1000 | 1111101000 |
| 65535 | 1111111111111111 |
Escribir largas cadenas de 1s y 0s es lento, propenso a errores y difícil de leer.
La solución: hexadecimal (base 16).
El hexadecimal (o "hex") utiliza 16 símbolos:
| Dígito | Valor |
|---|---|
| 0-9 | 0 a 9 |
| A | 10 |
| B | 11 |
| C | 12 |
| D | 13 |
| E | 14 |
| F | 15 |
Por qué el hexadecimal es perfecto para las computadoras:
Un dígito hexadecimal representa exactamente 4 bits (medio byte).
| Bits | Dígitos hexadecimales necesarios |
|---|---|
| 4 bits (nibble) | 1 dígito hexadecimal |
| 8 bits (1 byte) | 2 dígitos hexadecimales |
| 16 bits (2 bytes) | 4 dígitos hexadecimales |
| 32 bits (4 bytes) | 8 dígitos hexadecimales |
| 64 bits (8 bytes) | 16 dígitos hexadecimales |
Mismo número, tres formas:
| Decimal | Binario | Hexadecimal |
|---|---|---|
| 255 | 11111111 | FF |
| 1000 | 1111101000 | 3E8 |
| 65535 | 1111111111111111 | FFFF |
Nota cuánto más corto es el hexadecimal que el binario.
Dónde verás hexadecimal en ensamblador:
- Direcciones de memoria (como
0x7FFFo0x402000) - Códigos ASCII (como
0x41para 'A',0x0apara salto de línea)
- Valores de registro en depuradores
- Valores de color (como
0xFF0000para el rojo)
Hexadecimal se escribe con un prefijo:
| Prefijo | Ejemplo | Significado |
|---|---|---|
0x | 0xFF | FF en hexadecimal (255 en decimal) |
$ | $FF | Lo mismo (usado en algunos ensambladores) |
h | FFh | Lo mismo (estilo antiguo) |
En este curso, utilizamos el prefijo 0x: 0x0a, 0x41, 0xFF.
Pruébalo tú mismo
Esta lección no incluye un desafío de código.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
1La máquina
¿Qué es la CPU?MemoriaRegistros vs. MemoriaCómo funcionan las instruccionesPatrón de dos archivosLa arquitectura x86-642Sistemas de numeración
¿Por qué binario?Números binariosDe decimal a binario¿Por qué hexadecimal?De hex a decimalDe decimal a hexASCII y hex