# Sistema octal

Sistema Octal é um sistema de numeração cuja base é 8, ou seja, utiliza oito símbolos para a representação de quantidade. No ocidente, estes símbolos são os algarismos arábicos.
O octal foi muito utilizado em informática como uma alternativa mais compacta ao binário na programação em linguagem de máquina. Hoje, o sistema hexadecimal é mais utilizado como alternativa ao binário.
Este sistema também é um sistema posicional e a posição de seus algarismos determinada em relação à vírgula decimal. Caso isso não ocorra, supõe-se implicitamente colocada à direita do número.
A aritmética desse sistema é semelhante a dos sistemas decimal e binário, o motivo pelo qual não será apresentada.

## Uso do sistema octal
#### Como abreviação de binário

Para máquinas de computação (como UNIVAC 1050, PDP-8, ICL 1900 etc.), o Octal foi usado como uma abreviação de binário porque o tamanho da palavra é divisível por três (cada dígito octal representa três dígitos binários). Assim, dois, quatro, oito ou doze dígitos poderiam exibir de forma concisa uma palavra de máquina inteira. Também reduziu os custos ao permitir que os tubos Nixie, telas de sete segmentos e calculadoras fossem usadas para os consoles do operador, onde as telas binárias eram complexas demais para serem usadas, as telas decimais precisavam de hardware complexo para converter as radiações e as telas hexadecimais necessárias para exibir mais números .

#### Representação de palavras de 16, 32 ou 64 bits

Todas as plataformas de computação modernas usam palavras de 16, 32 ou 64 bits, divididas em bytes de oito bits. Em tais sistemas, seriam necessários três dígitos octais por byte, com o dígito octal mais significativo representando dois dígitos binários (mais um bit do próximo byte significativo, se houver). A representação octal de uma palavra de 16 bits requer 6 dígitos, mas o dígito octal mais significativo representa (de maneira bastante deselegante) apenas um bit (0 ou 1). Essa representação não oferece nenhuma maneira de ler facilmente o byte mais significativo, porque está manchado em quatro dígitos octais. Portanto, hoje em dia, o hexadecimal é mais comumente usado em linguagens de programação, pois dois dígitos hexadecimais especificam exatamente um byte. Algumas plataformas com tamanho de duas palavras ainda possuem subpalavras de instruções que são mais facilmente compreendidas se exibidas em octal; isso inclui a família PDP-11 e Motorola 68000. A arquitetura onipresente x86 moderna também pertence a essa categoria, mas o octal raramente é usado nessa plataforma.

#### Descrições de codificação

Certas propriedades da codificação binária de opcodes na arquitetura moderna x86 se tornam mais aparentes quando exibidas em octal, por exemplo, o byte ModRM, dividido em campos de 2, 3 e 3 bits, para que octal possa ser útil na descrição. essas codificações.

#### Permissões de acesso a arquivos e cálculos

Octal às vezes é usado na computação em vez de hexadecimal, talvez com mais frequência nos tempos modernos em conjunto com permissões de arquivo em sistemas Unix (acesso de permissão ao chmod). Tem a vantagem de não exigir símbolos extras como dígitos (o sistema hexadecimal é base 16 e, portanto, precisa de seis símbolos adicionais além de 0 a 9).

#### Telas digitais

Os números octais também são usados ​​na exibição de conteúdo digital em uma tela, pois possui menos número de símbolos usados ​​para representação.

#### Representação gráfica de cadeias de bytes

Algumas linguagens de programação (C, Perl, Postscript etc.) têm uma representação de textos / gráficos no Octal com escape como \ nnn. A representação octal é particularmente útil com bytes não ASCII de UTF-8, que codificam grupos de 6 bits e onde qualquer byte inicial possui valor octal \ 3nn e qualquer byte de continuação possui valor octal \ 2nn.

#### Aritmética inicial de ponto flutuante

O Octal também era usado para ponto flutuante nos computadores do Atlas Ferranti (1962), Burroughs B5500 (1964), Burroughs B5700 (1971), Burroughs B6700 (1971) e Burroughs B7700 (1972).

#### Em transponders

As aeronaves transmitem um código, expresso como um número de quatro dígitos octais quando interrogado por radar no solo. Este código é usado para distinguir diferentes aeronaves na tela do radar.

## Conversões de um sistema para outro
### Conversão Decimal – Octal
#### Método de multiplicações sucessivas por 8

É utilizado para converter uma fração decimal para o sistema octal. Multiplica-se a fração decimal por 8, obtendo-se na parte inteira do resultado o primeiro dígito da fração octal resultante. O processo é repetido sucessivamente com a parte fracionária do resultado para obter os dígitos seguintes e termina quando a parte fracionária é nula ou inferior à medida de erro especificada.
Exemplo:

#### Método de Divisões sucessivas por 8

É utilizado para converter uma fração decimal para o sistema octal. Dividi-se a fração decimal por 8, obtendo-se na parte inteira do resultado o primeiro dígito da fração octal resultante. O processo é repetido sucessivamente com a parte fracionária do resultado para obter os dígitos seguintes e termina quando a parte fracionária é nula ou inferior à 8 neste caso.
Exemplo:

### Conversão Octal – Decimal

Existem vários métodos, sendo mais comumente utilizado o proveniente do TFN, em que se faz a conversão de forma direta através da fórmula.
Exemplo:

### Conversão Octal – Binário

Quando existir necessidade de converter números octal em binários, deve-se separar cada dígito do número octal e substituí-lo pelo seu valor correspondente de binário.
Exemplo:

#### Conversão Binário – Octal

Para converter um número binário em octal, executa-se o processo inverso ao anterior. Agrupam-se os dígitos binários de 3 em 3 do ponto decimal da direita para a esquerda, substituindo-se cada trio de dígitos binários pelo equivalente dígito octal.
Por exemplo, a conversão do número binário 1010111100 em octal:
| 001 | 010 | 111 | 100 |
| 1 | 2 | 7 | 4 |
Assim, tem-se 1010111100$_{bin}$ = 1274$_{oct}$

#### Conversão Octal – Hexadecimal

Para esta conversão é necessário executar um passo intermediário utilizando o sistema binário. Primeiramente converte-se o número octal em binário e depois converte-se o binário para o sistema hexadecimal, agrupando-se os dígitos de 4 em 4 e fazendo cada grupo corresponder a um dígito hexadecimal.
Por, exemplo, a conversão o número octal 1057 em hexadecimal:
    Passagem ao binário:
    1057 001000101111
    Passagem ao hexadecimal:
    001000101111 22F
Assim, tem-se 1057$_{oct}$ = 22F$_{hex}$

#### Conversão Hexadecimal – Octal

Esta conversão, assim como a anterior, exige um passo intermediário em que se utiliza o sistema binário. Converte-se o número hexadecimal em binário e este em octal.
Exemplo:
    1F4 000111110100
Conversão para octal
    0764 000111110100

## Tabela de valores

| N.º Decimal 10 | N.º Binário 2 | N.º Hexadecimal 16 | N.º Octal 8 |
| 0 | 0000 | 0 | 0 |
| 1 | 0001 | 1 | 1 |
| 2 | 0010 | 2 | 2 |
| 3 | 0011 | 3 | 3 |
| 4 | 0100 | 4 | 4 |
| 5 | 0101 | 5 | 5 |
| 6 | 0110 | 6 | 6 |
| 7 | 0111 | 7 | 7 |
| 8 | 1000 | 8 | 10 |
| 9 | 1001 | 9 | 11 |
| 10 | 1010 | A | 12 |
| 11 | 1011 | B | 13 |
| 12 | 1100 | C | 14 |
| 13 | 1101 | D | 15 |
| 14 | 1110 | E | 16 |
| 15 | 1111 | F | 17 |