Sistema octal
# Sistema octal

El sistema octal es el sistema de numeración posicional cuya base es igual 8, utilizando los dígitos indio arábigos: 0, 1, 2, 3, 4, 5, 6, 7. En informática a veces se utiliza la numeración octal en vez de la hexadecimal. Tiene la ventaja de que no requiere utilizar otros símbolos diferentes de los dígitos. Sin embargo, para trabajar con bytes o conjuntos de ellos, asumiendo que un byte es una palabra de 8 bits, suele ser más cómodo el sistema hexadecimal, por cuanto todo byte así definido es completamente representable por dos dígitos hexadecimales.

## Sistema de numeración octal

El sistema de numeración octal es un sistema de numeración en base 8, una base que es potencia exacta de 2 o de la numeración binaria. Esta característica hace que la conversión a binario o viceversa sea bastante simple. El sistema octal usa 8 dígitos (0, 1, 2, 3, 4, 5, 6, 7) y cada dígito tiene el mismo valor que en el sistema de numeración decimal.

El teorema fundamental aplicado al sistema octal sería el siguiente:

       ${\begin{matrix}\!\!\!\!\!\!N=d_{n}\ldots d_{1}d_{0},d_{-1}\ldots d_{-k}&=&\\&\\d_{n}\cdot 8^{n}+\ldots +d_{1}\cdot 8^{1}+d_{0}\cdot 8^{0},+d_{-1}\cdot 8^{-1}+\ldots +d_{-k}\cdot 8^{-k}&=&\end{matrix}}$
          $N=\sum _{i=-k}^{n}d_{i}\cdot 8^{i}$

Como el sistema de numeración octal usa la notación posicional entonces para el número 3452,32 tenemos que: $2*8^0$ + $5*8^1$ + $4*8^2$ + $3*8^3$ + $3*8^{-1}$ + $2*8^{-2}$ = 2 + 40 + 4*64 + 3*512 + 3*0,125 + 2*0,015625 = 2 + 40 + 256 + 1536 + 0,375 + 0,03125 = 1834 + 0,40625d

Entonces, 3452,32q = 1834,40625d; mejor aún: $3452,32_{(8)}.$

El sub índice "q" indica número octal, se usa la letra q para evitar confusión entre la letra 'o' y el número 0. En informática, a veces se utiliza la numeración octal en vez de la hexadecimal. Tiene la ventaja de que no requiere utilizar otros símbolos diferentes de los dígitos. Es posible que la numeración octal se usara en el pasado en lugar de la decimal, por ejemplo, para contar los espacios interdigitales o los dedos distintos de los pulgares.

Es utilizado como una forma abreviada de representar números binarios que emplean caracteres de seis bits. Cada tres bits (medio carácter) es convertido en un único dígito octal (del griego oktō 'ocho').

## Fracciones

La numeración octal es tan buena como la binaria y la hexadecimal para operar con fracciones, puesto que el único factor primo para sus bases es 2. Todas las fracciones que tengan un denominador distinto de una potencia de 2 tendrán un desarrollo octal periódico.

| Fracción | Octal | Resultado en octal |
| - | - | - |
| 1/2 | 1/2 | 0,4 |
| 1/3 | 1/3 | 0,25252525 periódico |
| 1/4 | 1/4 | 0,2 |
| 1/5 | 1/5 | 0,14631463 periódico |
| 1/6 | 1/6 | 0,125252525 periódico |
| 1/7 | 1/7 | 0,111111 periódico |
| 1/8 | 1/10 | 0,1 |
| 1/9 | 1/11 | 0,07070707 periódico |
| 1/10 | 1/12 | 0,063146314 periódico |

## Métodos de conversión

### Decimal

Para poder convertir un número en base decimal a base octal se divide dicho número entre 8, dejando el residuo y dividiendo el cociente sucesivamente entre 8 hasta obtener cociente 0, luego los restos de las divisiones leídos en orden inverso indican el número en octal.

Ejemplo:

Escribir en octal del número decimal 730

730÷8= 91.25

91=cociente

8 x 91= 728

730 - 728= 2

2= residuo

91÷8= 11.375

11=cociente

8 x 11= 88

91-88= 3

3= residuo

11÷8= 1

1= cociente

8 x 1= 8

11-8= 3

3= residuo

1÷8= 0

0=cociente

8 x 0 = 0

1 - 0=1

1= residuo

octal del número decimal 730= 1332

Escribir en octal el número decimal 179

179÷8= 22

22= cociente

8 x 22= 176

179-176= 3

3= residuo

22÷8= 2

2=cociente

8x2= 16

22-16= 6

6= residuo

2÷8= 0

0= cociente

8x0= 0

2-0= 2

2= residuo

El octal del número decimal 179= 263

### Binario

Para pasar de binario a octal, solo hay que agrupar de 3 en 3 los dígitos binarios, así, el número binario 1001010 (74 en decimal), lo agruparíamos como 1 / 001 / 010. como al primer dígito le hacen falta dos números para que se cumpla la regla de 3 en 3 le agregamos 2 ceros, de modo que quedaría

(001) (001) (010)

después obtenemos el número en decimal de cada uno de los paréntesis de los números en binario con la siguiente fórmula:

de derecha a izquierda visualiza un número del 0 al 2 en la parte superior del número binario, para indicar la posición del binario en el paréntesis:

210<<<

1. (001) posición 0 para el binario 1, posición 1 para el binario 0, posición 2 para el binario 0

210<<<

2. (001)posición 0 para el binario 1, posición 1 para el binario 0, posición 2 para el binario 0

210<<<

3. (010)posición 0 para el binario 0, posición 1 para el binario 1, posición 2 para el binario 0

Después se multiplica cada número binario por 2 elevado a la posición del número binario y cada resultado se suma:

* (001)= ( 0 x 2$\exp 2$) + (0 x 2$\exp 1$) + ( 1 x 2$\exp 0$)= 0 + 0 + 1 = 1
* (001)= ( 0 x 2$\exp 2$) + (0 x 2$\exp 1$) + ( 1 x 2$\exp 0$)= 0 + 0 + 1 = 1
* (010)= (0 x 2$\exp 2$) + ( 1 x 2$\exp 1$) + ( 0 x 2$\exp 0$)= 0 + 2 + 0= 2

001= 1

001= 1

010= 2

De modo que el número binario 1001010 en octal es 112.

## Tabla de conversión entre decimal, binario, hexadecimal y octal

| Decimal | Binario | Hexadecimal | octal |
| - | - | - | - |
| 0 | 00000 | 0 | 0 |
| 1 | 00001 | 1 | 1 |
| 2 | 00010 | 2 | 2 |
| 3 | 00011 | 3 | 3 |
| 4 | 00100 | 4 | 4 |
| 5 | 00101 | 5 | 5 |
| 6 | 00110 | 6 | 6 |
| 7 | 00111 | 7 | 7 |
| 8 | 01000 | 8 | 10 |
| 9 | 01001 | 9 | 11 |
| 10 | 01010 | A | 12 |
| 11 | 01011 | B | 13 |
| 12 | 01100 | C | 14 |
| 13 | 01101 | D | 15 |
| 14 | 01110 | E | 16 |
| 15 | 01111 | F | 17 |
| 16 | 10000 | 10 | 20 |
| 17 | 10001 | 11 | 21 |
| 18 | 10010 | 12 | 22 |
| 19 | 10011 | 13 | 23 |
| 20 | 10100 | 14 | 24 |
| 21 | 10101 | 15 | 25 |
| 22 | 10110 | 16 | 26 |
| 23 | 10111 | 17 | 27 |
| 24 | 11000 | 18 | 30 |
| 25 | 11001 | 19 | 31 |
| 26 | 11010 | 1A | 32 |
| 27 | 11011 | 1B | 33 |
| 28 | 11100 | 1C | 34 |
| 29 | 11101 | 1D | 35 |
| 30 | 11110 | 1E | 36 |
| 31 | 11111 | 1F | 37 |
| 32 | 100000 | 20 | 40 |
| 33 | 100001 | 21 | 41 |
