[go: up one dir, main page]

Saltar para o conteúdo

Sistema octal

Origem: Wikipédia, a enciclopédia livre.

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.[1]

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.

Exemplo:
- Qual o número decimal representado pelo número octal 4701?
   Utilizar o TFN.
4 x 8³ + 7 x 8² + 0 x 8¹ + 1 x  8° =
= 2048 + 448 + 0 + 1 = 2497

Uso do sistema octal

[editar | editar código-fonte]

Como abreviação de binário

[editar | editar código-fonte]

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). dígitos). Assim, dois, quatro, oito ou doze dígitos poderiam exibir 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

[editar | editar código-fonte]

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

[editar | editar código-fonte]

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

[editar | editar código-fonte]

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

[editar | editar código-fonte]

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

[editar | editar código-fonte]

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

[editar | editar código-fonte]

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

[editar | editar código-fonte]

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

[editar | editar código-fonte]

Conversão Decimal – Octal

[editar | editar código-fonte]

Método de multiplicações sucessivas por 8

[editar | editar código-fonte]

É 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:

Com decimal 0.140625 em octal.
0.140625 x 8 = 1.125
0.125 x 8 = 1.0
Combinamos os dois métodos anteriores podemos converter para octal números decimais com parte inteira e fracionária.

Método de Divisões sucessivas por 8

[editar | editar código-fonte]

É 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:

61 /8 = 7 resto 5 => 61(decimal) = 75(octal)

Conversão Octal – Decimal

[editar | editar código-fonte]

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:

Converter o número octal 764 para o sistema decimal.
7648 = 7 x 8² + 6 x 8¹ + 4 x 8° = 448 + 48 + 4 = 50010
Converter o número octal 13,42 para o sistema decimal.
13,428 = 1 x 8¹ + 3 x 8° + 4 x 8-1 + 2 x 8-2 = 8 + 3 + 0,5 + 0,03125 = 11 + 0,53125 = 11,5312510

Conversão Octal – Binário

[editar | editar código-fonte]

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:

Converter o número octal 1572 em binário.
Logo, 1 5 7 2    =  001 101 111 010

Conversão Binário – Octal

[editar | editar código-fonte]

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 1010111100bin = 1274oct

Conversão Octal – Hexadecimal

[editar | editar código-fonte]

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:
1 0 5 7
001 000 101 111
Passagem ao hexadecimal:
0010 0010 1111
2 2 F

Assim, tem-se 1057oct = 22Fhex

Conversão Hexadecimal – Octal

[editar | editar código-fonte]

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:

Converter o número hexadecimal 1F4 em octal.
1 F 4
0001 1111 0100

Conversão para octal

0 7 6 4
000 111 110 100

Tabela de valores

[editar | editar código-fonte]
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
Referências
  1. Wakerly 2000, p. 27-28.
  • Wakerly, John F. (2000). Diseño Digital Principios y Prácticas. Saddle River, Nova Jérsei: Pearson