Conversor Binário/Hexadecimal

Converta números entre binário, hex, decimal e octal — ou transforme texto em bytes.

Pronto. Digite um número ou texto para converter.

Todas as conversões são executadas no seu navegador. Os seus números e textos nunca saem do seu dispositivo.

Perguntas Frequentes

O que posso converter aqui?

Duas coisas. O modo Número vincula binário, octal, decimal e hexadecimal — edite qualquer campo e os outros serão atualizados instantaneamente. O modo Texto transforma qualquer texto nos seus valores de byte na base escolhida e lê esses bytes de volta em texto.

Ele suporta números negativos e muito grandes?

Sim. Os números negativos mantêm o sinal de menos em todas as bases e não há limite de tamanho prático — os valores são convertidos de forma exata, sem arredondamentos. Não há uma visualização em complemento de dois com largura fixa, pois isso só faz sentido após escolher uma largura de bits específica.

A minha entrada é enviada para algum lugar?

Não. Tudo é calculado localmente no seu navegador, portanto, nada do que digita é enviado para fora do seu dispositivo.

Conversão entre bases numéricas e codificação de texto

A conversão de dados entre diferentes sistemas de numeração e a tradução de texto para representações numéricas de bytes são operações fundamentais na computação e na eletrónica digital. O sistema binário (base 2), o octal (base 8), o decimal (base 10) e o hexadecimal (base 16) constituem as bases mais utilizadas para estruturar, analisar e depurar dados.

Esta ferramenta realiza a conversão bidirecional e instantânea entre estes formatos. Adicionalmente, permite codificar texto em sequências de bytes nas quatro bases ou descodificar essas sequências numéricas de volta para o formato de texto original.


Funcionamento do modo Número

No modo Número, a edição de qualquer um dos quatro campos disponíveis atualiza de forma imediata os restantes três. O utilizador pode introduzir dados em qualquer uma das seguintes bases:

  • Binário: Aceita dígitos 0 e 1.
  • Octal: Aceita dígitos de 0 a 7.
  • Decimal: Aceita dígitos de 0 a 9.
  • Hexadecimal: Aceita dígitos de 0 a 9 e letras de A a F (ou a a f).

Regras de formatação e sintaxe suportadas

Para facilitar a colagem de dados de código-fonte ou de dumps de memória, o analisador aceita várias convenções de formatação:

  • Prefixos comuns como 0b para binário, 0o para octal e 0x para hexadecimal.
  • Sinais de menos (-) no início do número para valores negativos.
  • Espaços em redor do número, espaços em branco como separadores e carateres de sublinhado (_) utilizados para agrupamento visual de dígitos.

Precisão arbitrária e números negativos

Ao contrário de calculadoras padrão que limitam a precisão a 32 ou 64 bits, esta ferramenta utiliza a API BigInt do JavaScript para processar inteiros de precisão arbitrária. Isto significa que:

  • Não existe um limite prático de tamanho para os números, suportando inteiros com comprimento até 4 096 carateres.
  • As conversões são exatas, sem qualquer tipo de arredondamento ou perda de precisão.
  • Os números negativos mantêm o sinal de menos em todas as bases de destino. Não é aplicada uma representação de complemento para dois de largura fixa, uma vez que essa representação exige a definição prévia de um tamanho de bits específico.

Funcionamento do modo Texto e codificação de bytes

O modo Texto permite converter carateres legíveis por humanos nas suas representações numéricas de bytes (e vice-versa) utilizando a codificação UTF-8. O limite máximo para a entrada de texto é de 200 000 carateres.

Direção: Texto → Bytes (Codificação)

Ao introduzir texto no campo de entrada, a ferramenta converte cada caráter na sua sequência de bytes correspondente segundo o padrão UTF-8. O utilizador pode escolher visualizar estes bytes em qualquer uma das quatro bases (Binário, Octal, Decimal ou Hexadecimal).

Para garantir a consistência visual e facilitar a leitura, a saída gerada aplica regras de preenchimento com zeros à esquerda (padding):

  • Binário: Cada byte é preenchido com zeros até perfazer 8 bits.
  • Octal: Cada byte é preenchido com zeros até perfazer 3 bits.
  • Hexadecimal: Cada byte é preenchido com zeros até perfazer 2 bits, utilizando sempre letras maiúsculas.
  • Decimal: Os valores são apresentados sem preenchimento de zeros à esquerda.

Direção: Bytes → Texto (Descodificação)

Para converter sequências numéricas de volta em texto, os valores de bytes introduzidos podem ser separados por espaços em branco ou por vírgulas. Cada valor individual inserido deve representar exatamente um byte, ou seja, deve situar-se no intervalo de 0 a 255 na base selecionada.


Tratamento de erros e estados da interface

A ferramenta valida continuamente os dados introduzidos e apresenta mensagens de erro específicas quando as regras de validação são violadas:

  • Se introduzir carateres não permitidos numa determinada base numérica no modo Número, a interface exibe: "Número inválido para essa base — verifique se há dígitos que ela não pode conter."
  • Se introduzir valores fora do intervalo de 0 a 255 ou carateres inválidos para a base selecionada no modo de descodificação de bytes, surge o erro: "Códigos de byte inválidos — cada valor deve ser de um byte (0–255) na base escolhida."
  • Se a sequência de bytes fornecida não corresponder a uma sequência de codificação UTF-8 válida, a ferramenta impede a conversão e mostra: "Esses bytes não são UTF-8 válidos, portanto não podem ser exibidos como texto."
  • Se o comprimento do texto inserido ultrapassar o limite de 200 000 carateres, a ferramenta apresenta: "A entrada é longa demais para esta ferramenta — tente algo menor."

Indicadores de estado

O estado da operação é atualizado dinamicamente na interface:

  • Limpo. – Apresentado quando o campo de entrada é limpo.
  • Convertido. – Confirmando o sucesso de uma conversão no modo Número.
  • Codificado. – Após a transformação de texto em bytes.
  • Descodificado. – Após a transformação bem-sucedida de bytes em texto.

Privacidade e processamento local

A segurança e a privacidade dos dados introduzidos são asseguradas pelo modelo de execução da ferramenta. Todas as operações de conversão, codificação e descodificação são processadas inteiramente no navegador web do utilizador.

Os números, textos e sequências de bytes introduzidos são manipulados localmente através de scripts executados no dispositivo de acesso. Nenhum dado é enviado para servidores externos ou transmitido para fora do dispositivo do utilizador.


Perguntas Frequentes (FAQ)

O que posso converter aqui?
Duas coisas. O modo Número vincula binário, octal, decimal e hexadecimal — edite qualquer campo e os outros serão atualizados instantaneamente. O modo Texto transforma qualquer texto nos seus valores de byte na base escolhida e lê esses bytes de volta em texto.

Ele suporta números negativos e muito grandes?
Sim. Os números negativos mantêm o sinal de menos em todas as bases e não há limite de tamanho prático — os valores são convertidos de forma exata, sem arredondamentos. Não há uma visualização em complemento de dois com largura fixa, pois isso só faz sentido após escolher uma largura de bits específica.

A minha entrada é enviada para algum lugar?
Não. Tudo é calculado localmente no seu navegador, portanto, nada do que digita é enviado para fora do seu dispositivo.