Convertidor de decimal a octal

→
Octal = dividir entre 8 una y otra vez, guardar cada resto como dígito de 0 a 7

Decimal a octal: la base que se esconde tras los permisos de archivo

Qué hace esta conversión

Escribe un número en base 10 usando los dígitos del 0 al 7. El octal se ha replegado a unos pocos nichos, pero uno de ellos está muy concurrido: los permisos de archivo de Unix, donde una máscara como 755 o 644 va en octal y se lee como tres dígitos independientes y no como una sola cifra.

Tres bits por dígito, que es justo el punto

Un dígito octal cubre exactamente 3 dígitos binarios, así que un campo de permisos de nueve bits se parte en tres grupos limpios: propietario, grupo y resto. Por eso la notación siguió pegada a los permisos mucho después de dejar de usarse para aritmética. Cada grupo se arma con 4 para lectura, 2 para escritura y 1 para ejecución, de modo que un 7 significa los tres y un 5 significa lectura más ejecución.

Tabla de conversión de decimal a octal

Los valores decimales que hay detrás de los modos de archivo y las máscaras pequeñas más frecuentes. Las filas de permisos conviene aprendérselas de vista, porque chmod acepta la forma octal y los informes muestran la decimal.

DecimalOctal
00
11
77
810
1012
1517
1620
3137
64100
100144
127177
200310
255377
10001750

De dónde vino el octal y dónde sigue vivo

El octal encajaba de forma natural en máquinas cuyo tamaño de palabra era múltiplo de 3 bits, y los primeros miniordenadores como el PDP-8 se construyeron así. Cuando el byte de 8 bits y la palabra de 16 se volvieron estándar, el hexadecimal tomó el relevo porque cuatro divide a ocho y tres no. Los permisos de archivo son el gran superviviente, mantenidos por décadas de costumbre y porque 3 bits de permiso dividen perfectamente entre 3.

Leer un dígito de permiso

Trata cada dígito octal de un modo como una suma pequeña: 4 es lectura, 2 es escritura y 1 es ejecución, sumados según el dígito que veas. Así 755 es lectura, escritura y ejecución para el propietario, y lectura y ejecución para grupo y resto; 644 es lectura y escritura para el propietario y solo lectura para los demás.

Preguntas frecuentes

¿Cómo paso un número decimal a octal a mano?

Divide entre 8 y anota el resto, repite con el cociente hasta que llegue a cero y lee los restos del último al primero. Para 493: 493 ÷ 8 es 61 con resto 5, 61 ÷ 8 es 7 con resto 5, y 7 ÷ 8 es 0 con resto 7, lo que da 755.

¿Por qué los permisos de archivo se escriben en octal?

Porque 3 bits de permiso por clase de usuario caben exactos en 1 dígito octal, así que el modo entero se lee como tres dígitos cortos en vez de 9 bits. 755 significa lectura, escritura y ejecución, luego lectura y ejecución, luego lectura y ejecución: un formato que se descifra sin hacer ninguna operación.

¿Qué concede exactamente chmod 755?

El propietario puede leer, escribir y ejecutar; los miembros del grupo y el resto pueden leer y ejecutar, pero no modificar. En decimal eso es 493. Los directorios usan los mismos 3 bits con un significado distinto para la ejecución, y por eso un directorio normalmente necesita tenerla activada para poder entrar en él.

¿Se sigue usando el octal para algo más?

De vez en cuando. Algunos lenguajes permiten literales octales con un cero delante y unos pocos formatos de archivo y máscaras de red lo emplean. Fuera de esos casos el hexadecimal lo ha sustituido, porque un byte se parte en 2 dígitos hexadecimales y 3 no divide a 8.

¿Acepta valores negativos y fracciones?

Sí a los dos. Un número negativo conserva el signo delante de los dígitos octales, en forma de signo y magnitud y no de complemento a dos. Las fracciones se convierten dígito a dígito y, si el desarrollo no termina, el resultado se marca como truncado en lugar de redondearse sin avisar.

Copia el código de abajo y pégalo en tu sitio web para añadir este convertidor.

<!-- Decimal a octal -->
<iframe src="https://unitflow.net/es/embed/decimal-to-octal" title="Decimal a octal" width="100%" height="420" loading="lazy" style="border:0;max-width:100%;display:block"></iframe>
<p><a href="https://unitflow.net/es/decimal-to-octal" target="_blank" rel="noopener">Con tecnología de UnitFlow</a></p>