Conversor de Base Numérica

Converta um número inteiro entre binário, octal, decimal, hexadecimal e qualquer base até 36.

Roda inteiramente no seu navegador. Nada é enviado, registrado ou armazenado.

Espaços, sublinhados e um prefixo 0x ou 0b são ignorados.

Convertido

255

Binário (2)
11111111
Octal (8)
377
Decimal (10)
255
Hexadecimal (16)
FF

O mesmo número pode ser escrito em qualquer base, e com qual delas você se depara depende de onde está olhando: hexadecimal em um despejo de memória, binário em uma máscara de permissões, octal em um modo de arquivo, decimal em todo o resto. Isto converte entre todas elas.

Como funciona

Os dígitos vão de 0 a 9 e depois de A a Z, que é o que permite bases até 36. A caixa é ignorada na entrada, então ff e FF são o mesmo número.

A conversão é feita por divisões sucessivas sobre os próprios dígitos, e não transformando a entrada em um inteiro de máquina antes. Isso importa mais do que parece: um hash de 64 bits ou um identificador de 128 bits é exatamente o tipo de valor que as pessoas colam em um conversor de base, e qualquer coisa que passe por um float arredonda em silêncio a partir de uns dezesseis dígitos.

Apenas números inteiros, e sem sinal negativo. Uma fração em outra base é outra pergunta, com arredondamento próprio, e respondê-la de passagem daria um resultado que parece exato e não é.

Exemplos

Caso Entrada Resultado
Um byte em hexadecimal ff from base 16 255 in decimal, 11111111 in binary
Um modo de arquivo Unix 755 from base 8 493 in decimal, 111101101 in binary
Maior que um inteiro de máquina, e ainda exato ffffffffffffffffffffffff from base 16 79228162514264337593543950335

Perguntas frequentes

Ele aguenta números maiores que 64 bits?

Aguenta. A aritmética é feita sobre a cadeia de dígitos, então o comprimento não é um limite e nada é arredondado. Experimente um resumo SHA-256 inteiro em base 16 e leia-o de volta em base 10.

Por que números negativos não são aceitos?

Porque como um número negativo se escreve depende de uma convenção que esta ferramenta não tem como saber: um sinal de menos, complemento de dois em alguma largura, ou um bit de sinal. Escolher uma em silêncio daria uma resposta confiantemente errada para as outras duas.

Prefixos 0x e 0b são permitidos?

São, e espaços e sublinhados também. Eles são notação, e não dígitos — 1010 1100 e 1010_1100 são o mesmo número — então são removidos antes da leitura.

Por que a base 36 para aí?

Porque é onde acabam os dígitos: dez algarismos e vinte e seis letras. Ir além exige um alfabeto que precisa ser combinado antes, como a base 58 e a base 64 fazem, cada uma do seu jeito.

Bom saber

  • Apenas números inteiros, e sem sinal. Uma fração em outra base precisa de uma regra de arredondamento, e um número negativo precisa de uma convenção — um sinal de menos, ou complemento de dois em alguma largura — que esta ferramenta não consegue adivinhar só pela entrada.
  • As quatro bases comuns aparecem sempre ao lado da que você pediu, porque o valor contra o qual você quer conferir costuma ser uma delas.

Todas as ferramentas de Código