Conversor de HEX para Decimal

Dígitos 0-9 e letras A-F, em maiúsculas ou minúsculas. Um prefixo 0x, #, $ ou U+ é aceito, assim como espaços, hífens ou sublinhados entre os dígitos.

Exemplos

Ler um endereço de memória, um código de erro de 32 bits ou um ponto de código UTF-8 bruto geralmente começa com um valor hex que você precisa entender como um número decimal. Este conversor aceita qualquer entrada hex, com ou sem um prefixo 0x, e retorna o equivalente decimal com aritmética de precisão arbitrária, de modo que valores de 64 bits ou maiores mantenham todos os dígitos.

Como converter hex para decimal

  1. 1

    Insira um valor hex

    Cole qualquer número hex: `0x1F4`, `1F4`, `$1f4`, maiúsculas ou minúsculas.

  2. 2

    Separadores são ignorados

    Espaços, sublinhados e hífens são removidos, então `DE AD BE EF` e `DEADBEEF` são a mesma entrada.

  3. 3

    Leia o decimal

    A saída usa matemática de precisão arbitrária, então `0xFFFFFFFFFFFFFFFF` retorna o decimal completo de 20 dígitos.

  4. 4

    Copie ou encadeie

    Cole o decimal em sua calculadora, planilha ou depurador.

Lendo números hex como decimais

Hex usa 16 dígitos: 0-9 e depois A-F (10-15). O valor de um número hex é a soma de cada dígito multiplicado por uma potência de 16.

Valores de posição

Posição (da direita para a esquerda) Potência de 16 Peso decimal
0 16^0 1
1 16^1 16
2 16^2 256
3 16^3 4.096
4 16^4 65.536
5 16^5 1.048.576
6 16^6 16.777.216
7 16^7 268.435.456
8 16^8 4.294.967.296

Então 0x1F4 = 1 × 256 + 15 × 16 + 4 × 1 = 500.

Valores de referência úteis

Hex Decimal Significado
0xFF 255 Máx. sem sinal 8 bits
0x7F 127 Máx. com sinal 8 bits
0xFFFF 65.535 Máx. sem sinal 16 bits
0xFFFFFFFF 4.294.967.295 Máx. sem sinal 32 bits
0x7FFFFFFF 2.147.483.647 Máx. com sinal 32 bits (INT_MAX)
0xFFFFFFFFFFFFFFFF 18.446.744.073.709.551.615 Máx. sem sinal 64 bits

Valores com e sem sinal

Por padrão, o resultado é o valor sem sinal (positivo): 0xFF é 255 e 0x80000000 é 2.147.483.648. Se seus dados têm sinal, escolha no segundo passo uma leitura com sinal de 8, 16, 32 ou 64 bits e o conversor aplica o complemento de dois nessa largura: quando o bit mais alto é 1, o valor é negativo, então o byte 0xFF vale -1 e 0x80000000, lido como inteiro com sinal de 32 bits, vale -2.147.483.648. Não é possível escolher uma largura estreita demais para o valor.

Precisão arbitrária

Como o conversor realiza o cálculo com aritmética de precisão arbitrária, valores de até 512 dígitos hexadecimais (2.048 bits, o tamanho de uma chave RSA-2048) mantêm todos os dígitos, algo crítico ao ler constantes criptográficas ou contadores de tokens longos.

Perguntas frequentes

Porque a leitura sem sinal (positiva) é a padrão e, como valor sem sinal, o byte 0xFF é 255. Ele só vale -1 como inteiro com sinal de 8 bits em complemento de dois: escolha a leitura com sinal de 8 bits no segundo passo e o conversor retorna -1, junto com o bit de sinal e o cálculo passo a passo.

O conversor realiza o cálculo com aritmética de precisão arbitrária, então decimais de 20 dígitos ou mais vêm exatamente.

Sim, espaços, sublinhados e hífens são removidos. DE AD BE EF e DEADBEEF se convertem no mesmo decimal.

Sim. O caso é irrelevante em hex. 0xAB e 0xab se convertem em 171 de qualquer forma.

Ferramentas relacionadas

Ferramenta disponível em outros idiomas