El sistema numérico octal es un sistema numérico de base 8. Utiliza los dígitos del 0 al 7 y es un sistema posicional: cada posición representa una potencia de 8 (8^0, 8^1, 8^2, ...). Es similar al binario (base 2) y al hexadecimal (base 16). Los números octales se escriben a veces con la letra o delante del número, por ejemplo, o04 u o1242. También se representan colocando un pequeño 8 en la parte inferior derecha, como en 1242 8, o con otros formatos usados en programación (por ejemplo, un cero inicial en C: 0755, o el prefijo 0o en Python/ECMAScript: 0o755).

Cómo funciona y ejemplos de conversión

Al ser un sistema posicional, el valor de cada dígito depende de su posición. Por ejemplo, el número octal 1242 8 equivale a:

  • 1 × 8^3 + 2 × 8^2 + 4 × 8^1 + 2 × 8^0 = 1 × 512 + 2 × 64 + 4 × 8 + 2 × 1 = 674 (decimal).

Conversión de decimal a octal mediante divisiones sucesivas (ejemplo: 125 decimal):

  • 125 ÷ 8 = 15, resto 5 → dígito menos significativo = 5
  • 15 ÷ 8 = 1, resto 7 → siguiente dígito = 7
  • 1 ÷ 8 = 0, resto 1 → dígito más significativo = 1
  • Resultado: 125₁₀ = 175 8

Relación entre binario y octal

Cada dígito octal corresponde exactamente a 3 bits binarios (porque 2^3 = 8). Para convertir de binario a octal, agrupa los bits de 3 en 3 desde la derecha (añade ceros a la izquierda si es necesario) y sustituye cada grupo por su valor octal.

Ejemplo: binario 1101011 → agrupar desde la derecha: 1 101 011 → añadir ceros a la izquierda para completar grupos de 3: 001 101 011 → que corresponde a 1 5 3 → 153 8. En decimal: 1101011₂ = 107₁₀ = 153 8.

Usos en informática

En la historia de la informática, el octal fue muy útil porque muchas máquinas antiguas trabajaban con palabras de tamaño divisible por 3 bits (por ejemplo, máquinas de 12, 24 o 36 bits). Agrupar bits de tres en tres hacía que la representación en octal fuera natural y compacta. Ejemplos históricos incluyen la familia PDP-8 y otras máquinas con arquitecturas de palabra múltiplo de 3 bits.

Con la llegada de arquitecturas de 32 y 64 bits (múltiplos de 4 bits), el hexadecimal se volvió más práctico (un dígito hexadecimal representa exactamente 4 bits). Aun así, el octal sigue presente en algunos contextos:

  • Sistemas Unix y derivados: permisos de archivos se expresan clásicamente en octal (por ejemplo, 0755 o 755 representa rwxr-xr-x). Cada dígito octal describe los permisos de propietario, grupo y resto: 7 = r+w+x (111), 5 = r-x (101), etc.
  • Algunos entornos y lenguajes heredados o herramientas de bajo nivel mantienen representación octal.

Otras notas prácticas

  • Notación: Puede encontrarse como un prefijo (0 en C; 0o en Python 3 y ECMAScript modernos), una letra delante (como se mencionó arriba) o con subíndice 8.
  • Aritmética: Las operaciones en octal siguen las mismas reglas que en otros sistemas posicionales; la diferencia es que la base para llevar es 8. Por ejemplo, 7 + 1 = 10 8 (lleva 1 al siguiente dígito).
  • Ventajas y desventajas: el octal es compacta y coincide bien con agrupamientos de 3 bits; su desventaja actual es que no encaja tan naturalmente con tamaños de palabra modernos (múltiplos de 4 bits), por lo que el hexadecimal es más frecuente hoy.

Uso cultural

Además de usos técnicos, algunas culturas emplean sistemas de numeración octales. Por ejemplo, en el texto original se menciona que ciertos grupos, como los nativos americanos que utilizan la lengua yuki en California y las lenguas pameanas en México, usan un sistema octal. La explicación etnográfica común es que, al contar, utilizan los espacios entre los dedos en lugar de contar los dedos mismos, lo que produce un conteo basado en grupos de ocho.

En resumen, el sistema octal (base 8) es un sistema posicional útil por su correspondencia con grupos de 3 bits y por su historia en la informática; aunque hoy día ha sido en gran medida reemplazado por el hexadecimal en muchos ámbitos técnicos, sigue teniendo aplicaciones prácticas y existe también en contextos culturales tradicionales.