Bases Numéricas: Binario, Octal, Decimal y Hexadecimal
Entender los sistemas numéricos es fundamental para cualquier persona en el mundo de la tecnología. Desde los colores de tu sitio web hasta el funcionamiento interno de un procesador, todo se reduce a números en diferentes bases.
1. ¿Qué Son los Sistemas Numéricos?
Un sistema numérico (o base numérica) es un conjunto de reglas para representar cantidades usando símbolos. La "base" indica cuántos símbolos diferentes se usan. Nosotros usamos el sistema decimal (base 10) con diez símbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Las computadoras usan el sistema binario (base 2) con solo dos símbolos: 0 y 1.
Cada posición en un número tiene un valor que depende de la base. En decimal, las posiciones son unidades (10⁰), decenas (10¹), centenas (10²), etc. En binario, las posiciones son 2⁰=1, 2¹=2, 2²=4, 2³=8, y así sucesivamente. El número es la suma de cada dígito multiplicado por el valor de su posición.
2. Sistema Decimal (Base 10)
Es el sistema que usamos a diario. Tiene 10 símbolos (0-9) y cada posición vale 10 veces más que la anterior. Se cree que usamos base 10 porque tenemos 10 dedos, lo que lo hace natural para contar.
Ejemplo: el número 347 en decimal significa:
3 × 10² + 4 × 10¹ + 7 × 10⁰ = 300 + 40 + 7 = 347
Aunque es natural para nosotros, el sistema decimal no es ideal para las computadoras. Los circuitos electrónicos tendrían que distinguir entre 10 niveles de voltaje diferentes, lo que sería impreciso y propenso a errores.
3. Sistema Binario (Base 2)
El lenguaje nativo de las computadoras. Solo usa dos símbolos: 0 y 1, llamados "bits" (binary digits). Cada posición vale el doble que la anterior.
Ejemplo: el número binario 1101 en decimal:
1 × 2³ + 1 × 2² + 0 × 2¹ + 1 × 2⁰ = 8 + 4 + 0 + 1 = 13
Potencias de 2 que todo desarrollador debe conocer:
- 2¹ = 2 | 2² = 4 | 2³ = 8 | 2⁴ = 16
- 2⁵ = 32 | 2⁶ = 64 | 2⁷ = 128 | 2⁸ = 256
- 2¹⁰ = 1.024 (1 KB) | 2²⁰ = 1.048.576 (1 MB) | 2³⁰ = 1.073.741.824 (1 GB)
Representación de datos con bits: 1 bit almacena un valor booleano (sí/no). 8 bits (1 byte) almacenan un número del 0 al 255 o un carácter ASCII. 32 bits almacenan un número entero hasta ±2.147.483.647 o una dirección IPv4.
4. Sistema Hexadecimal (Base 16)
El hexadecimal usa 16 símbolos: 0-9 y A-F (donde A=10, B=11, C=12, D=13, E=14, F=15). Es la forma compacta favorita de los programadores para representar datos binarios.
Ejemplo: el número hex 2F en decimal:
2 × 16¹ + F(15) × 16⁰ = 32 + 15 = 47
La relación entre hex y binario es directa — cada dígito hex equivale a exactamente 4 bits:
- 0 = 0000 | 1 = 0001 | 2 = 0010 | 3 = 0011
- 4 = 0100 | 5 = 0101 | 6 = 0110 | 7 = 0111
- 8 = 1000 | 9 = 1001 | A = 1010 | B = 1011
- C = 1100 | D = 1101 | E = 1110 | F = 1111
Usos comunes del hexadecimal:
- Colores CSS: #FF6B35 → Rojo: FF(255), Verde: 6B(107), Azul: 35(53)
- Direcciones de memoria: 0x7FFFFFFF — mucho más legible que su equivalente binario.
- Códigos de caracteres: Unicode U+1F600 es el emoji de cara sonriente.
- Hashes y criptografía: SHA-256 produce 64 dígitos hexadecimales.
5. Sistema Octal (Base 8)
El octal usa 8 símbolos (0-7). Cada dígito octal representa exactamente 3 bits. Fue popular en las primeras computadoras pero hoy su uso principal está en Unix/Linux.
El ejemplo más conocido son los permisos de archivos Unix. Cada permiso (lectura=4, escritura=2, ejecución=1) se suma en un dígito octal:
- 7 (rwx): Lectura + escritura + ejecución (4+2+1)
- 6 (rw-): Lectura + escritura (4+2)
- 5 (r-x): Lectura + ejecución (4+1)
- 4 (r--): Solo lectura
- 0 (---): Sin permisos
Así, chmod 755 significa: propietario puede todo (7=rwx), grupo puede leer y ejecutar (5=r-x), y otros pueden leer y ejecutar (5=r-x).
6. Cómo Convertir entre Bases
Decimal a binario
Divide el número entre 2 repetidamente y anota los restos. Lee los restos de abajo hacia arriba. Ejemplo: 25 → 25÷2=12 r1, 12÷2=6 r0, 6÷2=3 r0, 3÷2=1 r1, 1÷2=0 r1 → 11001
Binario a decimal
Multiplica cada bit por su potencia de 2 y suma todo. Ejemplo: 11001 = 1×16 + 1×8 + 0×4 + 0×2 + 1×1 = 25
Decimal a hexadecimal
Divide entre 16 repetidamente. Ejemplo: 255 → 255÷16=15 rF, 15÷16=0 rF → FF
Binario a hexadecimal (método directo)
Agrupa los bits de derecha a izquierda en grupos de 4 y convierte cada grupo:
10110110 → 1011 0110 → B6
Para conversiones rápidas sin hacer cálculos a mano, usa nuestro conversor de binario a decimal o el conversor de decimal a cualquier base.
7. Aplicaciones Prácticas en Programación
- Colores en CSS y diseño web: Los colores hex (#RRGGBB) son la representación más común. Cada par de dígitos hex define la intensidad de rojo, verde y azul (0-255).
- Operaciones a nivel de bits (bitwise): Los operadores &, |, ^, ~, <<, >> trabajan directamente con la representación binaria. Esenciales para flags, permisos y optimización.
- Redes: Las direcciones IP, máscaras de subred y direcciones MAC se representan y manipulan en binario y hexadecimal.
- Codificación de caracteres: ASCII usa 7 bits, UTF-8 usa secuencias de 1-4 bytes. Entender binario es clave para trabajar con texto internacionalizado.
- Criptografía y hashing: Los hashes (MD5, SHA) se representan en hexadecimal. Las claves y certificados usan codificación Base64 sobre datos binarios.
8. Herramientas de Conversión Gratuitas
LinksLin ofrece varias herramientas para trabajar con números y conversiones:
- Binario a Decimal: Convierte números binarios a su equivalente decimal al instante.
- Decimal a Cualquier Base: Convierte de decimal a binario, octal, hexadecimal o cualquier base de 2 a 36.
- Calculadora Online: Calculadora completa para operaciones matemáticas.
- Número a Texto: Convierte números a su representación escrita en español.
- Conversor Base64: Codifica y decodifica datos en Base64.
Preguntas Frecuentes
¿Por qué las computadoras usan el sistema binario?
¿Cuántos bits tiene un byte?
¿Para qué se usa el sistema hexadecimal en programación?
¿Qué es el sistema octal y dónde se usa?
¿Puedo convertir directamente de binario a hexadecimal sin pasar por decimal?
Convierte Números entre Bases al Instante
Usa nuestras herramientas gratuitas para convertir entre binario, decimal, octal y hexadecimal sin complicaciones.