UTILS.
100% no navegador
💾

Conversor de Ponto Flutuante IEEE-754

Converta um número decimal de/para seu padrão de bits IEEE-754 simples (32 bits) ou duplo (64 bits) e disseque os campos de sinal, expoente e mantissa.

Digite um número ou padrão de bits acima.

Sobre esta ferramenta

O Conversor de Ponto Flutuante IEEE-754 mostra exatamente como um número é armazenado na memória como um float de precisão simples de 32 bits ou de precisão dupla de 64 bits, e pode reverter um padrão de bits bruto de volta ao seu valor decimal. Ele usa arrays tipados do JavaScript (Float32Array / DataView) para que o padrão de bits seja a representação genuína do hardware, não uma aproximação.

No modo direto ele informa o padrão como hexadecimal e como binário dividido em seus três campos: o bit de sinal, o expoente (8 bits com viés 127 para float32, 11 bits com viés 1023 para float64), e a mantissa (23 ou 52 bits). Ele também decodifica o expoente não enviesado e classifica o valor como normal, subnormal, zero, infinito ou NaN. Crucialmente, ele imprime o valor exato armazenado lido de volta dos bits — que para float32 frequentemente difere do que você digitou, tornando visível o erro de arredondamento de ponto flutuante. Por exemplo, 0.1 não é armazenado exatamente em nenhuma das precisões.

No modo inverso você cola um padrão hex (com ou sem 0x) ou uma string binária de largura completa e ele reinterpreta esses bits como um float e mostra o valor decimal resultante mais a mesma divisão de campos. Tudo roda localmente no seu navegador. Esta é uma ferramenta de referência para entender arredondamento, comparar precisão simples versus dupla, e inspecionar as codificações especiais para ±0, ±∞ e NaN.

Perguntas frequentes

Por que o valor armazenado difere do que digitei?
A maioria das frações decimais não pode ser representada exatamente em ponto flutuante binário, então o valor representável mais próximo é armazenado. O conversor lê os bits de volta e mostra esse valor exato armazenado, o que revela o erro de arredondamento — especialmente na precisão simples de 32 bits.
Como os campos são dispostos?
Float32 usa 1 bit de sinal, 8 bits de expoente (viés 127) e 23 bits de mantissa; float64 usa 1 bit de sinal, 11 bits de expoente (viés 1023) e 52 bits de mantissa. O expoente não enviesado é igual ao expoente bruto menos o viés.
Como zero, infinito e NaN são codificados?
Um expoente todo-zero com mantissa zero é ±0, ou um subnormal se a mantissa for diferente de zero. Um expoente todo-um significa ±infinito quando a mantissa é zero e NaN quando é diferente de zero. A ferramenta rotula cada categoria.
Posso ir de um padrão de bits de volta a um número?
Sim. Mude para o modo inverso e cole um padrão de 8 dígitos hex (float32) ou 16 dígitos hex (float64), ou uma string binária completa de 32 ou 64 bits, e a ferramenta reinterpreta esses bits exatos como um valor de ponto flutuante.

Mais ferramentas