O que é uma base numérica?

Uma base numérica, ou radix, é a quantidade de algarismos usada por um sistema de numeração. O sistema decimal, usado no dia a dia, tem dez algarismos, de 0 a 9, e cada posição vale dez vezes mais que a posição à sua direita. Os computadores trabalham com o sistema binário, que usa apenas 0 e 1, então cada posição vale o dobro da posição à sua direita. O sistema octal, com os algarismos de 0 a 7, e o hexadecimal, com os algarismos 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: um algarismo octal representa exatamente 3 bits e um algarismo hexadecimal representa exatamente 4, por isso um byte sempre corresponde a dois algarismos 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 consiste em 24 uns seguidos de 8 zeros.
  • Octal: permissões de arquivos Unix, como chmod 755, em que cada algarismo corresponde a três bits de permissão.
  • Decimal: números do 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 as bases binária, octal, decimal e hexadecimal. Todos os conversores de bases numéricas daqui funcionam da mesma maneira, desde o Conversor de Bases Numéricas geral até os conversores de 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 aparece enquanto você digita, pronto para copiar. Se o número tiver um algarismo que não existe na base — como 2 em um número binário —, será exibido um erro. O botão de troca inverte a conversão.

Como funciona

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

  • Um sinal de menos no início, que é mantido no resultado: -42 em decimal equivale a -101010 em binário.
  • Os prefixos usados em 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 algarismos, como 1111 0000 ou 1_000_000.
  • Letras hexadecimais em maiúsculas ou minúsculas. Os resultados são exibidos em maiúsculas.

A ferramenta converte apenas números inteiros, então um número com separador decimal gera um erro.