Lendo um número IEEE 754
IEEE 754 armazena ponto flutuante em três campos: sinal, expoente e fração, muitas vezes chamada de mantissa. Float32 usa 1+8+23 bits; float64 usa 1+11+52 bits. O valor normal combina esses campos com uma potência de dois.
Muitos decimais, como 0,1, não têm expansão binária finita. Ao convertê-los, a precisão escolhida arredonda para o padrão representável mais próximo. A página mostra esse padrão para que a diferença deixe de ser invisível.
Como usar
Escolha precisão e formato antes de interpretar os bits.
- Selecione float32 ou float64.
- Escolha decimal, binário ou hexadecimal como entrada.
- Introduza o valor; binário e hexadecimal devem ter o comprimento exato da precisão.
- Clique em Converter para ver valor, padrão e campos separados.
- Verifique classificação e expoente ao investigar arredondamento ou valores extremos.
Vetores conhecidos
Estes padrões ajudam a reconhecer números normais e especiais.
| Entrada | Saída | Explicação |
|---|---|---|
| 1.0 float32 | 0x3F800000 | Sinal zero, expoente com viés 127 e fração zero. |
| -13.25 float32 | 0xC1540000 | Valor normal negativo e exatamente representável. |
| 0.1 float32 | 0x3DCCCCCD | Arredondado porque 0,1 não termina em binário. |
| -0 float32 | 0x80000000 | Magnitude zero com bit de sinal um. |
| +Infinity float32 | 0x7F800000 | Expoente em uns e fração zero. |
| menor subnormal float64 | 0x0000000000000001 | Menor passo positivo da precisão dupla. |
Formatos aceites
Decimal aceita números finitos, NaN, Infinity, +Infinity, -Infinity e -0. Binário exige exatamente 32 ou 64 bits; hexadecimal exige 8 ou 16 dígitos. Espaços e sublinhados podem agrupar o padrão.
Ao introduzir NaN em decimal, o navegador escolhe um padrão NaN canónico. Com bits ou hexadecimal, o campo da fração é preservado e apresentado, mesmo que a saída textual continue a ser NaN.
- Float32: 1 sinal, 8 expoente, 23 fração.
- Float64: 1 sinal, 11 expoente, 52 fração.
- Comprimento incorreto é rejeitado, não preenchido.
- Hexadecimal representa o padrão de bytes, não o valor inteiro do decimal.
Como os bytes são interpretados
Para entrada decimal, DataView grava o Number como Float32 ou Float64 usando ordem de bytes definida, e a ferramenta lê os mesmos bytes como inteiro sem sinal para extrair campos.
Para bits ou hexadecimal, o padrão é validado e escrito byte a byte. DataView então o lê como ponto flutuante, preservando -0, infinito, subnormal e NaN.
Valores normais usam expoente armazenado menos o viés. Subnormais usam expoente efetivo 1-viés e não possuem o 1 implícito da significância.
Usos práticos
A inspeção de bits explica comportamentos que o decimal sozinho oculta.
Depuração numérica
Investigue 0,1+0,2, arredondamento e cancelamento.
Protocolos e ficheiros
Descodifique campos float32 e float64 de padrões conhecidos.
GPU e ciência
Compare a precisão simples e a dupla, bem como os respetivos limites.
Casos especiais
Crie testes para NaN, infinitos, zeros com sinal e subnormais.
Erros e limites
O erro mais comum é esperar que a notação decimal seja a representação armazenada.
Comprimento errado
32/64 bits e 8/16 dígitos hexadecimais são obrigatórios.
Ordem de bytes
Esta página mostra o padrão lógico; dumps de memória podem exibir bytes em ordem little-endian.
NaN não é único
Muitos padrões de fração representam NaN; por isso, não existe um único valor hexadecimal universal.
Subnormal confundido com zero
Subnormais são não nulos, embora possam desaparecer após arredondamentos ou otimizações.
Diferenças para outros conversores
IEEE 754 não é apenas uma mudança de base.
Decimal para binário
Converte a magnitude numérica; IEEE 754 codifica sinal, escala e precisão.
Complemento de dois
Representa inteiros com sinal e largura fixa, sem expoente.
Hexadecimal para decimal
Interpreta bits como inteiro; aqui o mesmo padrão é lido como ponto flutuante.
Calculadora comum
Mostra resultados arredondados, mas não revela os campos armazenados.