Conversor de Bases Numéricas
Converta entre binary, octal, decimal, hexadecimal e qualquer base de 2 a 36.
| Base | Value |
|---|---|
| 2 (binary) | … |
| 8 (octal) | … |
| 10 (decimal) | … |
| 16 (hex) | … |
| 32 | … |
| 36 | … |
Para que serve?
Números são o mesmo número independentemente da base — 255, 0xff, 0b11111111 e 0o377 são idênticos. Mas em qual base você lê ou escreve faz diferença quando está traduzindo entre layouts de memória, fazendo parsing de códigos de cor, decodificando bit fields ou só lendo hex no debugger. Esta ferramenta converte entre binary, octal, decimal, hexadecimal e qualquer base de 2 a 36, usando BigInt por baixo dos panos para você não perder precisão em números grandes.
Quando usar
- Lendo um valor em hex de uma stack trace e querendo saber o que é em decimal.
- Convertendo cor CSS
0xff8800em uma tripla RGB, ou o contrário. - Inspecionando um bitmask ou inteiro de flags em binary para ver quais bits estão setados.
- Traduzindo entre IDs curtos em base 36 e contadores em decimal.
Prefixos reconhecidos
- Hex:
0x,0X,# - Binary:
0b,0B - Octal:
0o,0O - Underscore para agrupar dígitos:
1_000_000
Cuidados comuns
- Números negativos vêm com prefixo de sinal, não em complemento de dois.
-128aparece como-10000000em binary, não10000000. A maioria das linguagens mostra do mesmo jeito para inteiros de precisão arbitrária. - Números grandes não perdem precisão aqui. O
Numberdo JavaScript trava em 253; esta ferramenta usaBigInt, então inteiros de 64 bits, hashes grandes e valores de crypto fazem round-trip exato. - Não confunda base com case. Letras de base 16 podem ser maiúsculas ou minúsculas; a ferramenta aceita ambas e emite em maiúsculas. Saídas em base 32 / base 36 são minúsculas por convenção.
- Zeros à esquerda são descartados.
0x000FviraF. Se precisar de hex de largura fixa (por exemplo, para representação de bytes), faça o padding depois no seu código.