TanodTools
PT

Conversor de bases numéricas

Converta um número inteiro entre binário, octal, decimal, hexadecimal e qualquer base até 36, e veja os padrões de bits em complemento de dois.

Funciona inteiramente no seu navegador

Números inteiros de até 4.096 dígitos, positivos ou negativos. Frações não são convertidas.

Como converter entre bases numéricas

  1. Escolha a base em que o seu número está escrito, ou escolha Outra e informe uma base de 2 a 36.
  2. Digite o número. O sinal de menos é permitido, e um prefixo correspondente 0x, 0b ou 0o é aceito; espaços e sublinhados são ignorados.
  3. Veja o número em todas as bases abaixo, copie a que precisar e confira a tabela de complemento de dois para inteiros de largura fixa.

Como funcionam as bases numéricas

Um conversor de bases numéricas parte de uma ideia simples: a base, ou radix, é quantos dígitos diferentes um sistema de numeração usa. No decimal, cada posição vale dez vezes a posição à direita; no binário, cada uma vale duas vezes, então 1101 significa 8 + 4 + 0 + 1 = 13. O hexadecimal usa dezesseis dígitos, de 0 a 9 e depois de A a F, e cada dígito hex representa exatamente quatro dígitos binários, e é por isso que programadores o usam como forma compacta de escrever bytes: 255 é FF, ou 11111111.

O octal agrupa os dígitos binários de três em três e ainda aparece nas permissões de arquivos Unix (755 significa rwxr-xr-x). A base 36 usa todos os dígitos e letras e aparece em IDs curtos e encurtadores de URL.

Os computadores armazenam inteiros com sinal em um número fixo de bits usando complemento de dois, em que o bit mais alto tem peso negativo. Os mesmos bits podem, portanto, significar dois números diferentes: 11001000 é 200 quando lido sem sinal e −56 quando lido com sinal. A tabela abaixo dos resultados mostra as duas leituras para os tamanhos de inteiro mais comuns.

Dicas

Perguntas frequentes

Qual o tamanho máximo de número que ele converte?

Até 4.096 dígitos na base de entrada. A conversão usa aritmética exata de números inteiros (BigInt), então valores muito grandes como 2⁶⁴ + 1 = 18446744073709551617 são convertidos sem arredondamento, ao contrário de calculadoras que passam para ponto flutuante acima de cerca de 9 quatrilhões.

Ele converte frações como 0,1?

Não. Só números inteiros são convertidos, e uma vírgula ou ponto decimal é indicado como erro em vez de ser descartado em silêncio. Muitas frações não têm forma exata em outra base: 0,1 em decimal é uma dízima periódica em binário, e é por isso que 0.1 + 0.2 não dá exatamente 0.3 na maioria das linguagens de programação.

O que o complemento de dois mostra?

É como os computadores armazenam inteiros com sinal em um número fixo de bits. Um número negativo −n é armazenado como 2 elevado ao número de bits, menos n, então −1 em 8 bits é 11111111 (FF). A tabela mostra o padrão de bits para 8, 16, 32 e 64 bits, e o que esse padrão significa lido como inteiro com sinal e sem sinal. Se o número não cabe em uma largura, a linha avisa em vez de dar a volta.

Quais dígitos são usados acima da base 10?

Letras, como faz a maioria das linguagens de programação: A é 10, B é 11 e assim por diante até Z, que é 35, e é por isso que a base 36 é a maior. A entrada é aceita em maiúsculas ou minúsculas; a opção de letras maiúsculas controla a saída.

Por que um dígito aparece como inválido?

Cada base só permite dígitos menores que o seu valor: o binário permite 0 e 1, o octal de 0 a 7, o hex de 0 a 9 e de A a F. A mensagem de erro informa o caractere e a posição para você encontrar um erro de digitação, ou mudar para a base em que o número está realmente escrito.