O que é uma base numérica?

Uma base numérica, ou radix, é a quantidade de dígitos que um sistema de numeração usa. O sistema decimal, usado no dia a dia, tem dez dígitos, de 0 a 9, e cada posição vale dez vezes a posição à sua direita. Os computadores trabalham com o sistema binário, que tem apenas 0 e 1, então cada posição vale o dobro da posição à sua direita. O sistema octal, com os dígitos de 0 a 7, e o hexadecimal, com os dígitos de 0 a 9 e as letras de A a F para representar os valores de 10 a 15, são formas compactas de escrever números binários: cada dígito octal representa exatamente 3 bits, e cada dígito hexadecimal representa exatamente 4, portanto um byte é sempre representado por dois dígitos hexadecimais.

Veja o mesmo número em cada base:

Decimal Binário Octal Hexadecimal
10 1010 12 A
42 101010 52 2A
255 11111111 377 FF
1000 1111101000 1750 3E8
65535 1111111111111111 177777 FFFF
-42 -101010 -52 -2A

Onde cada base é usada

  • Binário: bits, sinalizadores, máscaras de bits e máscaras de sub-rede, como 255.255.255.0, que corresponde a 24 uns seguidos de 8 zeros.
  • Octal: permissões de arquivos Unix, como chmod 755, em que cada dígito representa três bits de permissão.
  • Decimal: números usados no dia a dia.
  • Hexadecimal: cores como #FF6600, valores de bytes, endereços de memória, endereços MAC e pontos de código Unicode, como U+00E9.

Descrição da ferramenta

Esta ferramenta converte números inteiros entre os sistemas binário, octal, decimal e hexadecimal. Todos os conversores de base numérica disponíveis aqui funcionam da mesma maneira, desde o Conversor de Base Numérica geral até os que convertem entre um único par, como de decimal para binário ou de hexadecimal para decimal: a ferramenta começa com as bases indicadas no nome, e os menus Origem e Destino permitem selecionar qualquer uma das quatro. Digite ou cole um número, e o resultado aparecerá enquanto você digita, pronto para copiar. Se o número tiver um dígito que não existe naquela base, como 2 em um número binário, será exibido um erro. O botão de inversão troca a direção da conversão.

Como funciona

A ferramenta lê o número como um BigInt do JavaScript, um número inteiro sem limite de tamanho, para que valores de 64 bits e maiores sejam convertidos com exatidão, sem arredondamento: FFFFFFFFFFFFFFFF em hexadecimal corresponde a 18446744073709551615 em decimal. A ferramenta aceita:

  • Um sinal de menos no início, que é mantido no resultado: -42 em decimal corresponde a -101010 em binário.
  • Os prefixos usados no código: 0b para binário, 0o para octal e 0x para hexadecimal. Por exemplo, 0x1F é convertido em 31.
  • Espaços e sublinhados entre grupos de dígitos, como 1111 0000 ou 1_000_000.
  • Letras hexadecimais em maiúsculas ou minúsculas. Os resultados são apresentados em maiúsculas.

A ferramenta converte apenas números inteiros, portanto um número com separador decimal exibirá um erro.