Qué es una base numérica
Una base numérica (o sistema posicional) define cuántos símbolos distintos se usan para escribir números. En base 10 (decimal) hay diez dígitos, del 0 al 9. En base 2 (binario) solo hay dos: 0 y 1. El valor de cada dígito depende de su posición: en 255, el 2 vale 200 porque está en la posición de las centenas. Cambiar de base es escribir el mismo valor con otro alfabeto de dígitos.
Cómo funciona la conversión
El truco es pasar siempre por un punto intermedio: el valor numérico puro. Primero se interpreta el número en su base de origen para obtener ese valor (con parseInt(numero, base)), y luego se lo reescribe en la base de destino (con valor.toString(base)). Por eso 255 decimal, FF hexadecimal y 11111111 binario son el mismo número: comparten el valor, cambia la representación.
Las cuatro bases clave
El mismo valor decimal 255 se ve muy distinto según la base. Esta tabla lo resume:
| Base | Nombre | Dígitos | 255 en decimal |
|---|---|---|---|
| 2 | Binario | 0 1 | 11111111 |
| 8 | Octal | 0-7 | 377 |
| 10 | Decimal | 0-9 | 255 |
| 16 | Hexadecimal | 0-9 A-F | FF |
| 36 | Base 36 | 0-9 A-Z | 73 |
- Binario (2): el lenguaje nativo de la máquina, solo 0 y 1.
- Octal (8): agrupa bits de a tres; clásico en permisos de Unix (chmod 755).
- Decimal (10): el que usamos las personas todos los días.
- Hexadecimal (16): compacto; dos dígitos = un byte. Colores, memoria, hashes.
Por qué el hexadecimal usa letras
La base 16 necesita dieciséis símbolos, pero solo tenemos diez dígitos (0-9). Se completan con las letras A, B, C, D, E y F, que valen 10, 11, 12, 13, 14 y 15. Así, un número como 2A significa 2×16 + 10 = 42. Convención universal: siempre en mayúsculas para evitar confusiones, como hacemos en esta herramienta.
Usos reales por área
- Colores: el CSS
#FF5733son tres bytes (rojo, verde, azul) en hexadecimal. - Permisos:
chmod 755usa octal, donde cada dígito son tres bits de permisos. - Redes: máscaras de subred y direcciones MAC se leen en binario y hexadecimal.
- Bajo nivel: direcciones de memoria, volcados (dumps) y flags de bits en hexadecimal.
- Hashes e IDs: MD5, SHA y muchos identificadores se muestran en hexadecimal.
Bases arbitrarias hasta 36
Más allá de las cuatro clásicas, podés convertir a cualquier base de 2 a 36. La base 36 aprovecha los diez dígitos y las veintiséis letras (0-9, A-Z), y se usa para acortar identificadores: un número largo en decimal ocupa muchos menos caracteres en base 36. Es el tope que soporta la función toString de JavaScript.