Conversor IEEE 754 (32 e 64 bits)
Números de ponto flutuante são guardados como um bit de sinal, um expoente enviesado e uma fração (mantissa), e a diferença entre o que você digita e o que é de fato armazenado é a causa de inúmeros bugs de arredondamento. Este conversor mostra a representação IEEE 754 exata de qualquer número decimal em float32 (simples, 1+8+23 bits, viés 127) e float64 (duplo, 1+11+52 bits, viés 1023): a cadeia de bits colorida, a palavra hex, o expoente sem viés e a mantissa, a categoria do valor (normal, subnormal, zero, infinito, NaN) e o valor realmente armazenado após o arredondamento. Também funciona ao contrário — cole uma palavra hex de 8 ou 16 dígitos e obtenha o número decodificado e seu detalhamento completo. Útil para depurar serialização, shaders e código embarcado, buffers de GPU e perguntas do tipo "por que 0.1 + 0.2 != 0.3?". As entradas especiais Infinity, -Infinity e NaN são aceitas. Tudo roda localmente; nada é enviado.
- Sinal
- 0 (+)
- Expoente
- 123 (2^-4)
- Mantissa
- 1.10011001100110011001101
- Armazenado
- 0.10000000149011612
Arredondado — float32 não pode armazenar este valor exatamente.
- Sinal
- 0 (+)
- Expoente
- 1019 (2^-4)
- Mantissa
- 1.1001100110011001100110011001100110011001100110011010
- Armazenado
- 0.1
float32 = 1 sinal + 8 expoente + 23 fração bits; float64 = 1 + 11 + 52. O viés do expoente é 127 / 1023.
Como usar
- Mantenha 'Decimal → bits' e digite um número (ex.: 0.1, -3.14, 1e10, Infinity, NaN) para ver float32 e float64.
- Leia a divisão sinal / expoente / mantissa, a palavra hex e o valor armazenado; uma nota avisa quando o float32 teve de arredondar.
- Mude para 'Bits → decimal', escolha a precisão e cole uma palavra hex para decodificá-la a um número.
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. A ferramenta mostra o valor representável mais próximo — ex.: 0.1 em float32 é na verdade 0.100000001490116119384765625. Uma nota de arredondamento aparece sempre que o valor float32 armazenado difere da sua entrada; float64 armazena o mesmo valor que o JavaScript já usa.
- O que significam os bits coloridos?
- Vermelho é o bit de sinal (0 positivo, 1 negativo), azul é o expoente (enviesado: subtraia 127 para float32 ou 1023 para float64 para obter a potência de dois) e verde é a fração/mantissa. Para números normais a mantissa é 1.fração; para subnormais é 0.fração com o expoente mínimo.
- Como infinito, NaN e zero são mostrados?
- Um expoente todo de uns com fração zero é ±infinito; um expoente todo de uns com fração não nula é NaN; expoente e fração todos zeros é ±zero (note o bit de sinal distinto do -0); e um expoente todo zeros com fração não nula é um número subnormal. A categoria é rotulada em cada cartão.
- Qual formato hex a decodificação espera?
- O hex big-endian dos bits crus: 8 dígitos hex para float32 (ex.: 3f800000 = 1.0) e 16 para float64 (ex.: 3ff0000000000000 = 1.0). Um 0x inicial e espaços são ignorados, e a entrada mais curta é preenchida com zeros à esquerda.
Guias sobre este tema
Ferramentas relacionadas
Conversor de Complemento de Dois (8–64 bits)
Insira um valor decimal, hex, binário ou octal e veja seu padrão de bits em complemento de dois de 8/16/32/64 bits, além das leituras com e sem sinal, hex, octal e complemento de um — no seu navegador.
MAC pra EUI-64 / Link-local
Converte qualquer endereço MAC no seu ID de interface EUI-64 modificado e o endereço IPv6 link-local correspondente — a mesma forma que Windows / Linux calculam automaticamente.
Calculadora CRC-32 (CRC-32 e CRC-32C)
Calcule a soma de verificação CRC-32 (IEEE 802.3, usada por zip/gzip/PNG) ou CRC-32C (Castagnoli) de texto ou bytes hex, exibida em hex minúsculo, hex maiúsculo e decimal sem sinal — no seu navegador.
Calculadora Bit a Bit
AND, OR, XOR, NOT e deslocamentos em dois inteiros — em binário, hex, decimal sem sinal e com sinal, com largura de 8, 16, 32 ou 64 bits.
Conversor decimal ↔ fração (polegadas)
Converta qualquer decimal em sua fração mais próxima (com denominador máximo ajustável, incluindo frações binárias para medidas em polegadas) e qualquer fração de volta para decimal / porcentagem. Inclui tabelas de referência de frações comuns e de 1/16″.
Conversor de Bases Numéricas
Converta números entre binário, octal, decimal e hexadecimal.
Dither de imagem (Floyd-Steinberg, Atkinson, Bayer)
Converta qualquer imagem para uma versão 1 bit dithered usando Floyd-Steinberg, Atkinson, Sierra Lite, ou padrões ordenados Bayer 2/4/8 — para visuais retrô Mac/Game Boy, telas e-ink, halftone de impressão ou pixel art.