Saltar para o conteúdo
BCBinary Code Translator
Menu

Ponto flutuante em nível de bits

Conversor IEEE 754

Explore a representação exata de float32 e float64 em decimal, binário e hexadecimal, incluindo classes especiais.

DataView do navegador lê e grava os bytes localmente, sem chamadas externas.

Testar um exemplo

Valor decimal interpretado

Ainda não há resultado

Padrão hexadecimal

Ainda não há resultado

Bit de sinal

Ainda não há resultado

Bits do expoente

Ainda não há resultado

Bits da mantissa

Ainda não há resultado

Expoente armazenado

Ainda não há resultado

Expoente sem viés

Ainda não há resultado

Classificação

Ainda não há resultado

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.

  1. Selecione float32 ou float64.
  2. Escolha decimal, binário ou hexadecimal como entrada.
  3. Introduza o valor; binário e hexadecimal devem ter o comprimento exato da precisão.
  4. Clique em Converter para ver valor, padrão e campos separados.
  5. 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.

Perguntas frequentes

Porque é que 0,1 muda ao converter?

A expansão binária é infinita e tem de ser arredondada para a quantidade de bits disponível.

Qual a diferença entre float32 e float64?

Float64 possui mais bits de expoente e fração, oferecendo maior alcance e precisão.

-0 é realmente diferente de 0?

O padrão de bits é diferente e algumas operações, como 1/x, revelam o sinal.

Todo NaN tem o mesmo hexadecimal?

Não. Todos os bits do expoente são 1 e a fração não é zero; são possíveis várias cargas úteis.

O que é subnormal?

É um valor muito próximo de zero sem o bit principal implícito dos números normais.

A conversão usa um servidor?

Não. As operações com DataView e a análise de bits são executadas localmente.

Ferramentas relacionadas

Ver todas as ferramentas

Preferências de cookies

Gerir as preferências de cookies. Os cookies necessários não podem ser desativados.

Necessários

Obrigatório

Necessários para seleção de idioma, escolhas de privacidade e funcionalidades básicas do site.

Cookies: NEXT_LOCALE

Análises

Cookies opcionais de análise ajudam a entender o tráfego e melhorar o site.

Cookies: _ga, _gid, _gat, _clck, _clsk

Publicidade

Cookies opcionais de publicidade podem ser usados para mostrar anúncios relevantes e medir desempenho.

Cookies: __gads, _gcl_au, IDE