¿Por qué hexadecimal?
Parte de la sección Fundamentos del Journey de Assembly de Coddy. Lección 10 de 45.
Ahora ya sabes que las computadoras usan el sistema binario. Entonces, ¿por qué los programadores de ensamblador rara vez escriben directamente en binario?
El problema con el sistema binario:
Los números binarios son muy largos. Mira este ejemplo:
| Número | Binario |
|---|---|
| 255 | 11111111 |
| 1000 | 1111101000 |
| 65535 | 1111111111111111 |
Escribir cadenas largas de 1 y 0 es lento, propenso a errores y difícil de leer.
La solución: hexadecimal (base 16).
El sistema hexadecimal (o «hex») usa 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 sistema 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 |
El mismo número, de tres formas:
| Decimal | Binario | Hexadecimal |
|---|---|---|
| 255 | 11111111 | FF |
| 1000 | 1111101000 | 3E8 |
| 65535 | 1111111111111111 | FFFF |
Observa 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 registros en depuradores
- Valores de color (como
0xFF0000para el rojo)
El hexadecimal se escribe con un prefijo:
| Prefijo | Ejemplo | Significado |
|---|---|---|
0x | 0xFF | FF en hexadecimal (255 en decimal) |
$ | $FF | Lo mismo (se usa en algunos ensambladores) |
h | FFh | Lo mismo (estilo antiguo) |
En este curso, usamos 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 hexPractica por tu cuenta: Playground de Assembly
Comprueba una conversión: Conversor de bases numéricas