Conversor de Octal para Decimal

→
Decimal = cada dígito octal × 8 elevado à sua posição, tudo somado

Octal para decimal: decodificando um modo, uma máscara ou um despejo antigo

O que esta conversão faz

Lê um valor de base 8 e o reescreve em base 10. É o sentido de que você precisa quando o modo já está escrito em octal — como o chmod e o ls esperam — e o número tem de entrar em um script, em um campo de configuração ou em uma comparação onde o código em volta pressupõe decimal.

Cada posição é uma potência de oito

Da direita para a esquerda, os pesos são 1, 8, 64, 512 e assim por diante. Converta 755 e você obtém 7 × 64 + 5 × 8 + 5 = 493. Repare que os dígitos deixam de ser três permissões independentes assim que o valor vira decimal: a estrutura empacotada que tornava a forma octal legível é exatamente o que a conversão dissolve, e vale lembrar disso antes de usar o resultado.

Tabela de conversão de octal para decimal

Modos e máscaras octais com seus valores decimais. Converter um modo de permissão em decimal é útil para scripting; manter em octal é melhor para ler, então a maioria das equipes registra as duas formas.

OctalDecimal
00
11
77
108
1715
10064
377255
644420
755493
1000512

Por que o uso do octal se estreitou às permissões

Uma base ganha seu lugar quando acompanha o agrupamento da máquina. O octal servia às palavras de seis e de doze bits do hardware antigo, e assim que o byte de oito bits se universalizou o agrupamento natural passou a ser de quatro bits, e portanto o hexadecimal. As permissões sobreviveram porque têm de fato nove bits de largura e se dividem em três grupos de três: um caso em que a aritmética da base ainda corresponde à estrutura do dado.

Não faça contas de permissão em decimal

Somar 493 e 64 em decimal para conceder leitura parece razoável e não é: 64 em decimal é sessenta e quatro, e o bit que ele liga em um modo octal não é o bit de leitura que você queria. Faça a aritmética de permissões em octal, com valores como 400 e 40, e converta apenas para armazenar ou exibir.

Perguntas frequentes

Como converter octal em decimal à mão?

Multiplique cada dígito pelo seu valor posicional — 1, 8, 64, 512 e assim por diante, da direita para a esquerda — e some os resultados. Para 755 isso é 7 × 64 + 5 × 8 + 5, ou seja, 448 + 40 + 5, que dá 493.

Por que o chmod 755 aparece como 493 no meu script?

Porque o script está lendo o modo como um inteiro decimal comum. O sistema de arquivos guarda os mesmos bits de qualquer maneira; só a notação muda. Mantenha a forma octal na cabeça e nos comentários, e converta na fronteira em que o valor encontra código que espera decimal.

Qual é o maior valor octal que posso converter aqui?

Muito maior que qualquer modo ou máscara prática. A conversão roda com inteiros exatos, então entradas longas voltam com todos os dígitos corretos, em vez do resultado arredondado que uma calculadora de ponto flutuante produziria.

Um zero à esquerda tem significado em octal?

Não numericamente — 0755 e 755 são o mesmo valor —, mas é um marcador útil que diz "isto é octal", e várias linguagens exigem esse zero para um literal octal. A ferramenta aceita um zero à esquerda e o prefixo 0o na entrada, e nunca imprime nenhum deles na saída.

A ferramenta aceita frações em octal?

Sim, e informa com honestidade quando uma não pode ser representada. Algumas frações octais terminam e outras não, dependendo de o denominador ser potência de 2. Quando a expansão não termina, o resultado é truncado e claramente marcado, em vez de arredondado como se a resposta fosse exata.

Copie o código abaixo e cole-o no seu site para adicionar este conversor.

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