0x
Conversor Hex para Decimal & Hexadecimal

Conversor Hex para Decimal & Hexadecimal

Tier M • Painel Duplo

Converta hexadecimal para decimal com complemento de dois sinalizado, precisão BigInt de 64 bits, ponto flutuante IEEE 754, endianness de bytes e cálculo passo a passo.

Predefinições:

Painel de Entrada e Arquitetura de Registradores

Normalizado: FFFFFFFE4 bytes (32 bits)
Sequência de Bytes na Memória:MSB → LSB
FFFFFFFE
Analisador do Cliente ProntoRFC 791 / IEEE 754-2019
Magnitude de Bits em Tempo Real e Espectro de BytesBits Ativos: 32 / 32
Decimal em Complemento de Dois Sinalizado
-2
Inteiro Não Sinalizado
4,294,967,294
Complemento de Dois Sinalizado
-2
Fluxo de Bits Binário (Base 2)
1111 1111 1111 1111 1111 1111 1111 1110
Octal (Base 8)
0o37777777776
Caracteres ASCII / UTF-8
"····"
Zero Desvio de Ponto FlutuanteBigInt e Decimal.js
Magnitude Decimal
4,294,967,294
Largura do Registrador de Hardware
32bits (4 bytes)
Arquitetura de Memória
BE (Rede)

Processamento no Lado do Cliente

Cálculo de alta performance executado integralmente na memória do navegador.

Privacidade Zero Upload ao Servidor

Todos os dados permanecem estritamente locais, sem qualquer comunicação com servidores externos.

Exportação Pronta para Produção

Formatos de saída limpos e otimizados, prontos para uso imediato em produção.

Referência técnica e guia de arquitetura

Conversor Hexadecimal para Decimal — Guia de referência

Converta hexadecimal para decimal com complemento de dois, precisão BigInt de 64 bits, ponto flutuante IEEE 754, ordenação de bytes (endianness) e cálculo passo a passo.

Conversor Hexadecimal para Decimal — Guia de referência — Arquitetura em memória do lado do cliente e fluxo de dados
Conversor Hexadecimal para Decimal — Guia de referência — Arquitetura em memória do lado do cliente e fluxo de dados

Parâmetros-chave e controles

Entrada Hexadecimal (hexInput)string (hexadecimal: 0-9, a-f, A-F, prefixos opcionais 0x, #, h)

Cadeia de caracteres ou fluxo hexadecimal bruto para conversão. Suporta comprimento arbitrário, valores hexadecimais fracionários com separador de ponto e matrizes de múltiplos bytes delimitados.

Padrão: "0xFF"
Tamanho da Palavra (wordSize)"auto" | "8-bit" | "16-bit" | "32-bit" | "64-bit" | "arbitrary"

Especifica a restrição de largura em bits do registrador do processador para interpretação de complemento de dois com sinal e limites de estouro (overflow).

Padrão: "auto"
Ordenação de Bytes (endianness)"big-endian" | "little-endian"

Arquitetura de sequenciamento de bytes. O formato Big-endian armazena o byte mais significativo no endereço de memória mais baixo; o Little-endian (padrão em x86 e ARM) inverte a ordem dos bytes.

Padrão: "big-endian"
Com Sinal (isSigned)boolean

Determina se o bit mais significativo (MSB) atua como indicador de sinal negativo na aritmética de complemento de dois ou se representa magnitude positiva (sem sinal).

Padrão: false

Dicas profissionais e melhores práticas

Evite o Truncamento de Precisão de 53 Bits no JavaScript

A função padrão parseInt(hex, 16) do JavaScript converte números para ponto flutuante de precisão dupla, corrompendo silenciosamente inteiros hexadecimais com mais de 15 dígitos hex (0x1FFFFFFFFFFFFF ou 9.007.199.254.740.991). Utilize sempre BigInt('0x' + hex) de precisão arbitrária para ponteiros de 64 bits, hashes criptográficos e identificadores snowflake de bancos de dados.

Extensão de Sinal na Conversão em Complemento de Dois

Ao decodificar valores hexadecimais negativos com sinal (como 0xFE em 8 bits), o bit de sinal deve ser estendido manualmente se convertido para tipos maiores. Em 8 bits, 0xFE é -2; em 16 bits sem extensão de sinal (0x00FE), é avaliado como 254 positivo. Garanta que a largura da palavra do registrador corresponda exatamente à arquitetura de destino.

Diferença entre Ordem de Bytes de Rede e do Host

Protocolos de rede (cabeçalhos TCP/IP e Ethernet) transmitem dados estritamente em Big-Endian (ordem de rede), enquanto processadores x86 e ARM leem inteiros em Little-Endian. Se a captura de pacotes hex exibir 0x0004 (porta 1024 em little-endian), altere o Endianness para inspecionar o inteiro real no host.

Armadilhas comuns e solução de problemas

⚠️Valores hexadecimais negativos resultam em números positivos grandes em vez de inteiros negativos (ex.: 0xFF retorna 255 em vez de -1)

Ative o modo Complemento de Dois com Sinal e defina o Tamanho da Palavra correspondente à largura dos seus dados (8 bits para 2 dígitos hex, 16 bits para 4 dígitos, 32 bits para 8 dígitos). Sem definir esse limite de bits, o conversor interpreta o valor como um inteiro sem sinal.

⚠️Sequência hexadecimal com número ímpar de caracteres causa erro de alinhamento ao alternar para Little-Endian

A inversão de bytes em little-endian opera sobre pares completos de 2 caracteres (octetos). Quando uma quantidade ímpar de dígitos hex for inserida (ex.: '123'), adicione um zero à esquerda ('0123') para alinhar corretamente os limites dos bytes antes da inversão.

Perguntas frequentes (FAQ)

Como calcular hexadecimal para decimal manualmente?▼

Para converter hex para decimal manualmente, multiplique cada dígito hexadecimal por 16 elevado à potência de sua posição (iniciando em 0 da direita para a esquerda) e some os resultados. Por exemplo, para 0x2E: multiplique E (14) por 16^0 (14 * 1 = 14), multiplique 2 por 16^1 (2 * 16 = 32) e some os valores: 32 + 14 = 46.

Como funciona a conversão hexadecimal em complemento de dois com sinal?▼

Na representação em complemento de dois com sinal, o bit mais significativo (MSB) indica o sinal. Para um inteiro de N bits (ex.: 8 bits, 16 bits, 32 bits), se o valor hex for maior ou igual a 2^(N-1), o número é negativo. Seu valor decimal equivale ao valor decimal sem sinal subtraído de 2^N. Por exemplo, em 8 bits: 0xFF resulta em 255 - 256 = -1.

Qual é a diferença entre hexadecimal big-endian e little-endian?▼

Endianness define a ordem dos bytes na memória do computador. No padrão Big-Endian (ordem de bytes de rede), o byte mais significativo (MSB) é armazenado primeiro no endereço mais baixo de memória (ex.: 0x12345678 é gravado como 12 34 56 78). No Little-Endian (usado por processadores x86-64 e ARM), o byte menos significativo (LSB) vem primeiro (78 56 34 12).

Como converter hexadecimal de 32 bits para ponto flutuante decimal IEEE 754?▼

Para converter hex de 32 bits (ex.: 0x40490FDB) para float IEEE 754, converta para 32 bits binários: o bit 31 é o bit de Sinal S (0 = positivo), os bits 30-23 são o Expoente com Bias E (128 - 127 = 1) e os bits 22-0 formam a Mantissa fracionária M (~0,5707963). O resultado decimal é (-1)^S * (1 + M) * 2^E = 1 * 1,5707963 * 2^1 ≈ 3,14159265.

Por que conversões hexadecimais perdem precisão acima de 15 dígitos hex no JavaScript?▼

O tipo Number padrão do JavaScript utiliza números de ponto flutuante de precisão dupla IEEE 754, que fornecem apenas 53 bits de precisão para a mantissa (Number.MAX_SAFE_INTEGER = 2^53 - 1 = 9.007.199.254.740.991, ou 0x1FFFFFFFFFFFFF). Inteiros hexadecimais com mais de 15 dígitos sofrem erros silenciosos de arredondamento, a menos que sejam processados com BigInt de precisão arbitrária.

Ferramentas e utilitários relacionados

Todas as ferramentas →