Guía del Conversor de Bases
Convertir DEADBEEF: un ejemplo hexadecimal resuelto
DEADBEEF es un número hexadecimal válido porque todas sus letras son dígitos hexadecimales. En decimal vale 3.735.928.559, y en binario es 11011110101011011011111011101111, exactamente 32 bits, que es la razón de que los programadores lo usen como marcador de memoria.
Por qué esto es un número
Los dígitos hexadecimales van del 0 al 9 y después de la A a la F. Así que cualquier palabra escrita usando solo las letras A, B, C, D, E y F es además un número hexadecimal válido.
DEADBEEF usa D, E, A, B, E, E y F, todas legales. Así que es a la vez una palabra y un número, que es exactamente por lo que los programadores la eligieron.
Convertirlo a mano
Ocho dígitos hexadecimales, así que los valores posicionales van de 16⁷ a 16⁰. Tomando cada dígito por turno:
| Dígito | Valor | Posición | Aporta |
|---|---|---|---|
| D | 13 | 16⁷ = 268435456 | 3489660928 |
| E | 14 | 16⁶ = 16777216 | 234881024 |
| A | 10 | 16⁵ = 1048576 | 10485760 |
| D | 13 | 16⁴ = 65536 | 851968 |
| B | 11 | 16³ = 4096 | 45056 |
| E | 14 | 16² = 256 | 3584 |
| E | 14 | 16¹ = 16 | 224 |
| F | 15 | 16⁰ = 1 | 15 |
Sumarlo
Sumando todas las aportaciones sale 3.735.928.559.
La calculadora de esta página está cargada con ese valor decimal convirtiéndose de vuelta a hexadecimal, para que la veas producir DEADBEEF y confirmes la cuenta en los dos sentidos.
En binario es 11011110101011011011111011101111: treinta y dos dígitos exactos, porque ocho dígitos hexadecimales son siempre treinta y dos bits.
Por qué lo usan los programadores
DEADBEEF es un número mágico: un valor reconocible escrito a propósito en memoria para que destaque después.
Si un programa lee una variable y encuentra DEADBEEF, esa variable casi seguro que nunca se inicializó bien. La memoria basura rara vez deletrea algo, así que ver una palabra es una señal fuerte de que algo va mal.
Además ocupa exactamente 32 bits, lo que lo hacía encajar de forma natural en sistemas antiguos donde la palabra de máquina tenía ese tamaño.
Otras palabras en hexadecimal
- CAFEBABE — los primeros cuatro bytes de todo archivo de clase Java compilado.
- DEADC0DE — se usa como marcador en algunos firmwares, con un cero haciendo de O.
- BAADF00D — lo usan las compilaciones de depuración de Microsoft para rellenar memoria reservada pero todavía sin escribir.
- FEEDFACE — aparece en los binarios Mach-O de macOS.
- 8BADF00D — un código de fallo de iOS que significa que la aplicación tardó demasiado en arrancar. Se lee como «ate bad food», comió comida en mal estado.