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 — com um prefixo opcional de zero à esquerda para linguagens que tratam 0755 como um literal octal.

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

    Escolha dígitos brutos (`754`), um prefixo de zero à esquerda (`0754`) ou um prefixo `0o` (`0o754`) para compatibilidade com Python 3 e Rust.

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.

Para C, Perl e shells, use um 0 à esquerda. Para Python 3, Rust e Swift, use 0o. Para chmod na linha de comando, não use prefixo.

Números negativos exigem uma largura de bit com sinal (complemento de dois). Especifique a largura primeiro; caso contrário, o conversor trata toda a entrada como sem sinal.

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