Conversor de Bases Numéricas: Binário, Decimal, Hex e Octal

Converta números entre decimal, binário, hexadecimal e octal instantaneamente. Informe o valor e a base de origem e veja todas as representações em paralelo. Processamento 100% local.

Revisão técnica: Cesar Gargiulo (segurança da informação)
Valim, o mascote do ValorFinal, representando a categoria Tecnologia

Base de origem

Exemplos rápidos:

Gostou? Mostre pra todo mundo

Gere um card bonito com a marca do ValorFinal para postar nos Stories ou mandar no WhatsApp. Nada que você digitou aparece no card.

Coloque no seu site

Converter de base é reescrever o mesmo número com outra quantidade de símbolos: 2 no binário, 8 no octal, 10 no decimal e 16 no hexadecimal. O valor não muda, só a escrita: 255, FF, 11111111 e 377 são o mesmo número.

Como funciona a conversão entre bases numéricas

A leitura usa notação posicional: cada dígito vale ele mesmo multiplicado pela base elevada à sua posição, contando da direita para a esquerda. No binário 1010, isso é 1x8 mais 0x4 mais 1x2 mais 0x1, ou seja, 10. Na prática, a conta é feita num acumulador que é multiplicado pela base e somado ao próximo dígito.

A escrita na outra base é o caminho inverso, por divisões sucessivas: o resto de cada divisão pela base nova, lido de baixo para cima, forma o número. O acumulador é um BigInt, o inteiro de precisão arbitrária do JavaScript, e é ele que garante que nada seja truncado acima de 2 elevado a 53.

O sinal de menos é separado antes da conta e recolocado depois, igual nas quatro bases. Para ver os octetos de um endereço IP em binário, veja a calculadora de sub-rede.

Fórmula

valor = soma de (dígito[i] x base^i), i contado da direita

escrita na base nova = restos das divisões sucessivas, de baixo para cima

1 dígito hexadecimal = 4 bits · 1 dígito octal = 3 bits

Base: notação posicional e a norma IEEE 754, que explica por que o ponto flutuante do JavaScript perde exatidão acima de 2 elevado a 53. Conversão determinística e local no navegador.

Limitações

  • Trata números inteiros. Fração em outra base (como 0,101 em binário) e notação científica não são convertidas.
  • Aceita apenas as bases 2, 8, 10 e 16, que são as usadas em computação. Bases arbitrárias, como a 36, ficam de fora.
  • O campo aceita até 64 caracteres, o que já cobre um inteiro de 256 bits em hexadecimal.
  • Negativo é exibido com sinal, e não em complemento de dois. Para ver a representação binária que a máquina guarda de um inteiro com sinal, o complemento precisa do tamanho da palavra (8, 16, 32 ou 64 bits), que esta ferramenta não pede.

Coloque a calculadora de Bases no seu site, de graça

Tem site, blog ou loja virtual? Esta calculadora tem uma versão para incorporar: você copia um código e cola no seu HTML. Sem cadastro, sem mensalidade e sem limite de acessos, e o cálculo acompanha a regra vigente sozinho.

calculadora de Bases para sitever todas as calculadoras para site

Calculadoras relacionadas

Guias sobre este tema

ValorFinal VIP: Sem anúncios, até 500 cenários salvos e comparação de cenários lado a lado.

Cálculo auditável, com fórmula e fontes transparentes

Atualizado em . Fontes: IEEE 754 / MDN Web Docs / notação posicional.

Processamento local: esta ferramenta roda no seu navegador e nada é enviado a servidores automaticamente.

Como validamos

Referências técnicas

Links externos para o que foi consultado na construção desta página, com a natureza de cada fonte identificada. O conteúdo delas pode mudar sem aviso; em caso de divergência, vale sempre a fonte primária.

Incorpore esta calculadora no seu site (grátis)

Copie e cole o código no seu site. A calculadora se atualiza sozinha. O crédito ao ValorFinal vem junto do código e a gente agradece quem mantém, mas ele é opcional: pode remover sem perder o widget. O link sai com rel="nofollow", ou seja, não transfere autoridade de busca para a gente.

Perguntas frequentes

O que é sistema de numeração binário?

O sistema binário (base 2) usa apenas os dígitos 0 e 1. É a linguagem nativa dos computadores, pois circuitos eletrônicos representam estados como ligado (1) ou desligado (0). Por exemplo, o número 255 em decimal é 11111111 em binário.

O que é sistema hexadecimal e onde é usado?

O sistema hexadecimal (base 16) usa os dígitos de 0 a 9 e as letras A a F. É amplamente usado em programação para representar cores (#FF5733), endereços de memória (0x1A3F), códigos de erro e hashes criptográficos. Um byte (8 bits) é representado por exatamente 2 dígitos hex.

O que é sistema octal?

O sistema octal (base 8) usa os dígitos de 0 a 7. Historicamente importante em Unix/Linux para permissões de arquivo (ex: chmod 755 = rwxr-xr-x). Cada dígito octal representa exatamente 3 bits binários.

Como funciona a conversão entre bases?

Cada dígito do valor informado entra num acumulador inteiro, da esquerda para a direita: o acumulado é multiplicado pela base e somado ao dígito atual. Com o número inteiro em mãos, ele é reescrito em cada uma das quatro bases. Por exemplo, o binário 1010 vira 10 em decimal e A em hexadecimal. O acumulador usa BigInt, o tipo de inteiro de precisão arbitrária do JavaScript, e por isso a conta não perde casas.

Esta ferramenta converte números negativos?

Sim, em todas as quatro bases, com o sinal de menos à esquerda. Até setembro de 2026 o negativo era aceito só em decimal e hexadecimal: a ferramenta convertia -10 em -1010 binário e depois recusava esse mesmo -1010 quando ele voltava como entrada, o que quebrava a ida e volta. Agora as quatro bases seguem a mesma regra, e o zero nunca sai com sinal: -0 é exibido como 0, porque -0 não é notação de inteiro em base nenhuma.

Quais são os limites desta ferramenta?

O limite é o tamanho do campo, 64 caracteres, e não a precisão da conta. Com BigInt não há arredondamento em número grande: 9007199254740993, que é 2 elevado a 53 mais 1, converte exato. A versão anterior passava por Number e devolvia 9007199254740992 sem avisar, um dígito errado com cara de resposta certa. Números fracionários não são convertidos: a ferramenta trata inteiros.

Por que 2 elevado a 53 é a fronteira em JavaScript?

Porque o tipo numérico padrão da linguagem é o ponto flutuante de dupla precisão do IEEE 754, que reserva 53 bits para a parte significativa. Até 9007199254740991 todo inteiro tem representação exata; acima disso, alguns inteiros deixam de existir no tipo e o valor mais próximo é usado no lugar, silenciosamente. É por isso que a conversão aqui usa BigInt, que não tem teto de precisão.