Conversor de Binário para Octal

Binário

O octal ainda está presente nas permissões de arquivos Unix (chmod 755), em manuais antigos da era PDP e em algumas toolchains de microcontroladores. Este conversor pega qualquer string binária, agrupa os bits de três em três da direita para a esquerda e mapeia cada grupo para um dígito de base 8 entre 0 e 7. A saída são dígitos octais simples, sem prefixo; se a sua linguagem exigir um zero à esquerda (0755) ou um prefixo 0o (0o755), adicione você mesmo.

Como converter binário para octal

  1. 1

    Insira o valor binário

    Espaços são removidos. Qualquer comprimento é aceitável; o grupo mais à esquerda é preenchido com zeros automaticamente até três bits.

  2. 2

    Agrupe os bits em três da direita

    `111101100` se torna `111 101 100`. A direção do agrupamento importa, sempre da direita para a esquerda.

  3. 3

    Mapeie cada triplo

    000 = 0, 001 = 1, 010 = 2, até 111 = 7. Cada triplo mapeia exatamente para um dígito octal.

  4. 4

    Leia e copie o resultado

    O resultado são dígitos octais simples, como `754`, sem prefixo. Se a linguagem de destino exigir um zero à esquerda (`0754`) ou um prefixo `0o` (`0o754`), adicione você mesmo.

Mapa de tripletos para octal

Binário Octal
000 0
001 1
010 2
011 3
100 4
101 5
110 6
111 7

Exemplo: permissões Unix

rwxr-xr-x significa que o proprietário tem leitura/escrita/executar, grupo e outros têm leitura/executar. Em binário, isso é 111 101 101, que se agrupa diretamente em octal 755, o número exato que você passa para chmod.

Quando o octal é útil

  • Permissões de arquivos: chmod 644, umask 022, stat -c %a falam em octal.
  • Sequências de escape: \100 em C é octal para @ (64 decimal).
  • Códigos de máquina legados: PDP-8, PDP-11 e documentos antigos da DEC listam opcodes em octal porque seu tamanho de palavra era um múltiplo de 3 bits.
  • Clareza visual: o agrupamento de três bits é mais rápido de ler do que binário sem o alfabeto completo de hexadecimais.

Armadilhas

  • Zero à esquerda significa octal em C: 0755 é octal 755 (= decimal 493), 755 é decimal 755. Verifique sua linguagem antes de colar.
  • JavaScript removeu o octal legado: o modo estrito rejeita 0755. Use 0o755 em vez disso.
  • Direção do agrupamento: se você agrupar da esquerda para a direita, obterá uma resposta errada para qualquer fluxo de bits cujo comprimento não seja um múltiplo de 3.

Perguntas frequentes

Porque as flags de permissão vêm em grupos de três (leitura, escrita, execução) por função (usuário, grupo, outros). Cada triplo mapeia 1-para-1 para um dígito octal, então rwxr-xr-x é lido como 755 em um único passo.

A saída aqui são dígitos simples, sem prefixo. Ao usar o valor no código, siga a linguagem de destino: C, Perl e shells esperam um 0 à esquerda, Python 3, Rust e Swift esperam 0o, e chmod na linha de comando não usa prefixo.

Números negativos exigem uma largura de bit com sinal (complemento de dois), e este conversor não tem opção de largura: trata toda a entrada como sem sinal. Para um valor negativo, escreva-o primeiro como um padrão de complemento de dois com largura fixa e depois converta esse padrão.

Não. O conversor preenche o grupo mais à esquerda com zeros até três bits. 1111 se torna 001 111, que é octal 17.

Ferramentas relacionadas

Ferramenta disponível em outros idiomas