§

Options

§

Binário (base 2)

§

Octal (base 8)

§

Decimal (base 10)

§

Hexadecimal (base 16)

§

Base personalizada

A SBC (Sociedade Brasileira de Computação) adota o padrão IEEE 754 nos currículos de Arquitetura de Computadores, onde alunos de graduação decompõem floats de 32 bits em sinal, expoente e mantissa — tudo em hex e binário. Em Portugal, o INESC TEC integra conversão de bases em módulos de microcontroladores ARM Cortex-M, onde engenheiros depuram registradores periféricos lendo dumps hexadecimais de pinos GPIO via JTAG. No firmware embarcado brasileiro, equipes do IFNL usam hex para mapear endereços de memória Flash antes de gravar imagens em dispositivos IoT. Este conversor automatiza a aritmética, liberando o engenheiro para se concentrar na interpretação.

Como funciona a conversão de bases

Todo sistema de numeração posicional representa um valor como a soma dos algarismos multiplicados pelas potências da base. Mudar de base significa reescrever o mesmo valor em relação a uma série de potências diferente.

  1. Validar o alfabeto de entrada. Cada base aceita um conjunto específico de dígitos. O binário aceita 0 e 1; o octal, 0–7; o decimal, 0–9; o hex, 0–9 e A–F. Um caractere fora do alfabeto escolhido exibe um erro imediato antes de qualquer conversão.
  2. Analisar o valor. Para valores que cabem em um Number do JavaScript (até 2^53−1), a ferramenta chama parseInt(text, base). Acima desse limite, ela recorre ao BigInt para manter a conversão exata em inteiros arbitrariamente grandes.
  3. Renderizar em cada base de destino. O valor analisado é convertido para cada base de saída via Number.prototype.toString(base) ou BigInt.prototype.toString(base). Os quatro painéis padrão (binário, octal, decimal, hex) e o painel de base personalizada são atualizados em conjunto.
  4. Aplicar formatação. Um botão de prefixo adiciona 0b, 0o ou 0x ao início das saídas binária, octal e hex. O agrupamento de dígitos insere um sublinhado a cada quatro dígitos binários e a cada dois dígitos hex. Um seletor de capitalização define se as letras A–F aparecem em maiúsculas ou minúsculas.
  5. Sincronização ao vivo entre painéis. Editar qualquer painel dispara uma reconversão com debounce de 100 ms que atualiza os demais painéis. O painel em edição é tratado como fonte de verdade em cada tecla pressionada.

Por que usar um conversor de bases

  • Leitura de despejos de memória. Depuradores, desmontadores e visualizadores de core dump exibem endereços e valores de registradores em hex. Traduzi-los para decimal permite compará-los com contagens, tamanhos e deslocamentos reportados em outros pontos do mesmo rastreamento.
  • Trabalho com códigos de cores. CSS, ferramentas de design e formatos de imagem expressam cores em triplas hex como #d2511a. Converter cada par para decimal transforma a mesma cor na forma rgb(210, 81, 26) esperada pelo seu seletor de cores ou verificador de acessibilidade.
  • Decodificação de permissões de arquivo. Os valores chmod do Unix são escritos em octal: 755 significa rwxr-xr-x quando cada dígito octal é traduzido para seus três bits binários. O conversor mostra esse mapeamento em uma etapa, sem precisar consultar um manual.
  • Depuração de flags de bit. Protocolos de rede, syscalls do kernel e registradores de hardware concentram muitos flags booleanos em um único inteiro. Ler o inteiro em binário mostra imediatamente quais bits estão ativos, o que é essencial para investigar por que um flag não está surtindo efeito.

Aplicações comuns

A conversão de bases aparece no trabalho diário de desenvolvedores, segurança e hardware sempre que um número é mais do que uma simples contagem.

  • Firmware embarcado: leia um dump hex de uma sonda JTAG, encontre o endereço de uma função e escreva um comando de breakpoint usando o deslocamento decimal aceito pelo seu script de depurador.
  • Segurança de redes: converta uma máscara de rede de 32 bits em decimal pontilhado de volta para binário para contar o comprimento do prefixo e, em seguida, escreva a forma CIDR para uma regra de ACL.
  • Desafios CTF e de criptografia: alterne entre hex, decimal e binário ao comparar um fragmento de chave vazada com um texto simples candidato sob XOR.

Um exemplo prático

Digite 255 no painel decimal. O painel hex é atualizado para FF (ou 0xFF com o prefixo ativado), o painel binário para 11111111 (agrupado como 1111_1111) e o painel octal para 377. Altere a base do painel personalizado para 36 e o mesmo valor aparece como 73. Digite um valor muito maior como 123456789012345678901234567890 no painel decimal; o painel hex usa o caminho BigInt e renderiza 18EE90FF6C373E0EE4E3F0AD2.

FAQ

O que é uma base numérica?

Uma base numérica, ou radix, é a quantidade de dígitos distintos que um sistema posicional utiliza antes de realizar um carry para a próxima posição. O decimal (base 10) usa 0–9; o binário (base 2) usa apenas 0 e 1; o hexadecimal (base 16) usa 0–9 mais A–F. O valor de um número não muda ao trocar de base — apenas a forma como seus dígitos são escritos e agrupados.

Por que usar hexadecimal na programação?

Um dígito hex corresponde exatamente a quatro bits binários, então dois dígitos hex cobrem um byte e oito dígitos hex cobrem uma palavra de 32 bits. Isso torna o hex a forma mais compacta e legível para endereços de memória, conteúdos de registradores, triplas de cores e chaves criptográficas. Ler 0xFF é mais rápido do que ler 11111111, e o padrão de bits está logo ali quando você precisar.

Posso converter além da base 36?

Esta ferramenta limita-se à base 36 porque esse é o limite superior das APIs nativas do JavaScript parseInt e toString, que aceitam 0–9 seguido de A–Z como alfabeto de dígitos. Bases de 37 a 62 são possíveis com um alfabeto personalizado (Base58 usada em endereços Bitcoin é um exemplo), mas são tratadas como uma ferramenta separada, pois cada base superior precisa de sua própria ordem canônica de dígitos.

Esta ferramenta suporta números negativos e decimais?

Inteiros negativos são renderizados com um sinal de menos à frente em todas as bases, seguindo o comportamento padrão de Number.prototype.toString. A representação em complemento de dois para uma largura de bit escolhida (8, 16, 32, 64) é uma visualização separada que planejamos adicionar. A conversão de bases para ponto flutuante também está fora do escopo desta versão; a ferramenta trata apenas valores inteiros.

A conversão de bases é uma tarefa simples que surge repetidamente em firmware, segurança e trabalho com gráficos. Realizá-la em uma aba do navegador, com as mesmas primitivas aritméticas do Node e do V8, mantém o trabalho rápido e os dados na sua máquina.