Informática9 min de lectura

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:

Preguntas Frecuentes

¿Por qué las computadoras usan el sistema binario?

Las computadoras usan binario porque sus circuitos electrónicos tienen dos estados: encendido (corriente alta = 1) y apagado (corriente baja = 0). Es mucho más fácil y confiable construir hardware que distinga entre dos estados que entre diez. Todo lo que hace una computadora — desde mostrar texto hasta reproducir vídeo — se reduce a combinaciones de unos y ceros.

¿Cuántos bits tiene un byte?

Un byte tiene 8 bits. Un bit es un 0 o un 1. Con 8 bits puedes representar 256 valores diferentes (2^8 = 256), que van del 0 al 255 en decimal. Un byte es la unidad básica de almacenamiento: un carácter de texto ASCII ocupa 1 byte, un carácter UTF-8 puede ocupar de 1 a 4 bytes.

¿Para qué se usa el sistema hexadecimal en programación?

El hexadecimal es compacto y mapea directamente a binario: cada dígito hex representa exactamente 4 bits. Esto lo hace ideal para representar datos binarios de forma legible: direcciones de memoria (0x7FFF0000), colores CSS (#FF6B35), códigos de error, valores RGB y bytes individuales. Es mucho más fácil leer FF que 11111111.

¿Qué es el sistema octal y dónde se usa?

El sistema octal (base 8) usa dígitos del 0 al 7. Cada dígito octal representa exactamente 3 bits. Su uso más común hoy es en permisos de archivos Unix/Linux: chmod 755 significa rwxr-xr-x. También se usa en algunos sistemas legacy y en ciertas representaciones de datos en lenguajes como C (un número que empieza con 0, como 0755, es octal).

¿Puedo convertir directamente de binario a hexadecimal sin pasar por decimal?

Sí, y es muy sencillo. Agrupa los bits de derecha a izquierda en grupos de 4 y convierte cada grupo a su equivalente hexadecimal. Por ejemplo: 11010110 → 1101 0110 → D6. Para octal, agrupa de a 3 bits. Este método es mucho más rápido que convertir primero a decimal.

Convierte Números entre Bases al Instante

Usa nuestras herramientas gratuitas para convertir entre binario, decimal, octal y hexadecimal sin complicaciones.