Conversor de bases numéricas (binário, octal, decimal, hexadecimal)

Converte números entre binário, octal, decimal e hexadecimal. Usa BigInt para converter com precisão até mesmo inteiros muito grandes, sem erros de arredondamento.

Dicas de uso

  • Ao inserir um valor hexadecimal, não adicione prefixos como `0x`; digite apenas os dígitos (por exemplo, `FF`). Tanto maiúsculas quanto minúsculas são reconhecidas.
  • Esta ferramenta usa BigInt internamente, o que permite converter com precisão inteiros muito grandes (acima de 2^53) que perderiam precisão com o tipo Number do JavaScript.
  • Útil em tarefas comuns de programação, como ler códigos de cor hexadecimais (por exemplo, `#FF0000`) ou verificar representações binárias em operações bit a bit.
  • O octal é comumente usado nas permissões de arquivos de sistemas tipo Unix (por exemplo, `755`). Compará-lo com o decimal e o binário ajuda a entender melhor o significado de cada permissão.

Perguntas frequentes

São todas "bases" diferentes usadas para representar números. O decimal usa 10 dígitos (0-9) e é o sistema que usamos no dia a dia; o binário usa apenas 0 e 1 e é o que os computadores usam internamente; o octal usa de 0 a 7; e o hexadecimal usa de 0 a 9 e de A a F. Octal e hexadecimal são amplamente usados em ciência da computação e eletrônica.

Um único dígito hexadecimal representa exatamente 4 bits (4 dígitos binários), o que permite comprimir dados binários em uma forma muito mais legível para humanos. É amplamente usado em endereços de memória, códigos de cor (`#RRGGBB`), códigos de caracteres e outras situações em que é preciso lidar com sequências de bits internas do computador.

Com uma calculadora comum ou com o tipo Number do JavaScript, inteiros maiores que 2 elevado a 53 (cerca de 9 quatrilhões) podem perder precisão. Esta ferramenta usa BigInt, um tipo inteiro de precisão arbitrária, e por isso converte com exatidão números de qualquer tamanho, sem erros.

O octal é usado principalmente na notação de permissões de arquivos de sistemas tipo Unix (Linux, macOS etc.), como em `chmod 755`. Cada dígito representa uma combinação das permissões de leitura (4), escrita (2) e execução (1), de modo que um único dígito octal expressa de forma concisa as permissões do proprietário, do grupo e de outros usuários.
ツールくん

Curiosidade — por que os computadores funcionam em binário

Os computadores são baseados em binário (0 e 1) porque os circuitos eletrônicos conseguem distinguir de forma confiável apenas dois estados: "tensão alta/baixa" ou "interruptor ligado/desligado". Construir um circuito capaz de distinguir com precisão dez níveis de tensão diferentes, como exigiria o decimal, seria muito mais sensível a ruído e mais complexo. Por essas razões práticas de engenharia, quase todos os computadores modernos são baseados em binário.

O hexadecimal é tão útil em programação graças a uma propriedade matemática conveniente: quatro dígitos binários (de 0000 a 1111) correspondem exatamente a um dígito hexadecimal (de 0 a F). Um byte (8 bits), por exemplo, pode ser escrito com apenas dois dígitos hexadecimais (`00` a `FF`), comprimindo em um comprimento muito mais legível o que em binário ocuparia oito dígitos.

O octal se popularizou por razões históricas: os primeiros computadores, como o PDP-8 (década de 1960), usavam tamanhos de palavra múltiplos de 3 bits (12 ou 36 bits, por exemplo), o que tornava o octal naturalmente conveniente na época. Quando os computadores passaram a padronizar tamanhos de palavra múltiplos de 4 bits (8, 16 ou 32 bits), o hexadecimal se tornou mais prático que o octal, e hoje continua predominante. Ainda assim, o octal sobrevive em alguns usos, como nas permissões de arquivos do Unix.