Tempo/Números

Conversor de float IEEE 754

Número decimal ↔ representação binária IEEE 754 (precisão simples ou dupla) — sinal, expoente, mantissa, valores especiais.


            

Computers store fractional numbers in binary under the IEEE 754 standard — a sign, an exponent, and a mantissa, packed into a fixed number of bits. This tool shows that representation for any decimal number and parses it back into a number.

How to use it

Common uses

Things to keep in mind

Most decimal fractions (0.1, for example) have no exact binary representation — that's the root cause of the typical rounding errors seen in calculation results.

Comparing floating-point numbers for exact equality (===) is unreliable — check instead whether the difference is smaller than a small threshold (epsilon).

Artigo sobre esta ferramenta: IEEE 754: por que 0.1 + 0.2 não é igual a 0.3 no código

Perguntas frequentes

Qual a diferença entre precisão simples e dupla?

A precisão simples (float, 32 bits) dá cerca de 7 dígitos decimais de precisão, a dupla (double, 64 bits) dá cerca de 15-17. O tipo Number do JavaScript usa precisão dupla.

Por que alguns números decimais perdem precisão?

O IEEE 754 armazena números em binário, e muitas frações decimais (como 0.1) não têm uma representação binária finita exata — então o valor mais próximo possível é armazenado, com um pequeno erro de arredondamento.

O que significam NaN, Infinity e -0?

NaN é o resultado de uma operação inválida como 0/0. Infinity/-Infinity aparecem quando um valor ultrapassa o intervalo representável (ex.: dividir por 0). +0 e -0 são duas representações de bits diferentes do zero com sinal, que ainda assim são iguais como números.

O que são números subnormais (desnormalizados)?

Um modo especial de representação para números com magnitude pequena demais para o formato normal — o 1 implícito inicial da mantissa é descartado, permitindo se aproximar gradualmente de zero ao custo de parte da precisão.

Como comparar corretamente números fracionários em vez de verificar igualdade exata?

Em vez de a === b, verifica-se se a diferença entre os números é menor que um pequeno limiar (epsilon): Math.abs(a - b) < 1e-9. A igualdade exata quase nunca é garantida por causa de erros de arredondamento.

Artigos: Tempo/Números

Tempo Unix: por que os computadores contam o tempo desde 1970

Por que 1º de janeiro de 1970 se tornou o ponto de referência do tempo para a maioria dos sistemas de computador.

Expressões cron: como decifrar um agendamento de tarefas

Como decifrar uma expressão como */15 * * * * e saber exatamente quando a tarefa será executada.

Sistemas numéricos: para que servem o binário, o octal e o hexadecimal

Por que a cor #FF5733 no CSS é escrita com dígitos hexadecimais em vez de decimais.

Operações bit a bit: como AND, OR e XOR funcionam no nível dos bits

Em que o AND bit a bit difere do lógico, e para que serve operar sobre bits individuais de um número.

Diferença entre datas: por que contar dias é mais complicado do que parece

Por que subtrair datas de forma ingênua pode dar um resultado incorreto por causa dos anos bissextos.

Cálculo de idade: por que não é uma simples subtração de anos

Por que simplesmente subtrair os anos de nascimento pode dar uma idade um ano maior que a real.

Fusos horários: por que UTC não é a mesma coisa que GMT

Por que UTC nunca muda duas vezes ao ano, enquanto o horário de Londres (GMT/BST) muda.

Calculadora de duração: como somar corretamente horas, minutos e segundos

Por que ao somar minutos e segundos é preciso "transportar" o resto para a próxima casa, assim como na soma decimal.

ISO 8601 Duration: como escrever uma duração em formato padrão

Por que PT1H30M significa «1 hora 30 minutos», e não «1 minuto 30 horas».

Número da semana: por que países diferentes contam as semanas de forma diferente

Por que 1º de janeiro às vezes pertence à semana 52 ou 53 do ano anterior segundo o padrão ISO 8601.

Números romanos: como funciona um sistema sem zero nem posições

Por que IV significa 4 e não 6, e como funciona a regra de subtração nos números romanos.

Número por extenso: para que transformar dígitos em palavras

Por que documentos bancários escrevem o valor tanto em dígitos quanto por extenso ao mesmo tempo.