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.
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