Idioma
English English Vietnamese (Tiếng Việt) Vietnamese (Tiếng Việt) Chinese (简体中文) Chinese (简体中文) Portuguese (Brazil) (Português do Brasil) Portuguese (Brazil) (Português do Brasil) Spanish (Español) Spanish (Español) Indonesian (Bahasa Indonesia) Indonesian (Bahasa Indonesia)
Sobre a ferramenta Calculadora Realize cálculos rápidos com modos padrão e científico. Suporta entrada pelo teclado, histórico de cálculos e funciona em todos os dispositivos. Abrir
2026-05-21 23:25:00 5 min de leitura

Por que uma calculadora mostra 0,1 + 0,2 = 0,30000000000000004

Digite 0,1 + 0,2 e espere 0,3 — mas a calculadora mostra 0,30000000000000004. Aqui está o motivo binário específico pelo qual esse resultado surpreende quase todo mundo.

Digite 0.1 + 0.2 na calculadora acima e você verá 0.30000000000000004 em vez do simples 0.3 que esperava. A calculadora não está com defeito — ela está mostrando o resultado exato de um problema específico de aritmética binária. Entender esse problema leva menos de cinco minutos e vai mudar a forma como você interpreta qualquer resultado decimal em qualquer calculadora digital.

Por que 0,1 não pode ser armazenado exatamente em binário

Todo número dentro de um computador é armazenado em binário — base 2, usando apenas os dígitos 0 e 1. Frações que parecem simples em decimal (base 10) são frequentemente frações de repetição infinita em binário, da mesma forma que 1 ÷ 3 = 0,3333… se repete para sempre em decimal.

O número decimal 0,1 é uma dessas frações. Em binário, ele é 0.0001100110011001100110011… — um padrão que se repete sem fim. Um computador que usa o padrão IEEE 754 de dupla precisão (o formato usado pelo JavaScript e, portanto, por toda calculadora baseada em navegador) armazena números em exatamente 64 bits. Esses 64 bits não conseguem guardar uma sequência infinita de dígitos, então o valor é arredondado para o número representável mais próximo. O resultado arredondado não é exatamente 0,1; ele é:

0.1000000000000000055511151231257827021181583404541015625

O mesmo acontece com 0,2. Sua representação binária também é uma fração de repetição infinita e, após o arredondamento, torna-se:

0.200000000000000011102230246251565404236316680908203125

O que acontece quando esses dois valores arredondados são somados

Quando a calculadora soma essas duas representações imprecisas, os pequenos erros não se cancelam — eles se acumulam. A adição produz:

0.3000000000000000444089209850062616169452667236328125

Esse número, arredondado para o float de 64 bits mais próximo, torna-se 0.30000000000000004. O 4 extra na décima sétima casa decimal não é um erro de arredondamento da calculadora — é o resultado matematicamente correto de somar duas aproximações binárias imprecisas de acordo com o padrão IEEE 754. Todo dispositivo, linguagem e navegador que segue o mesmo padrão produz a mesma resposta.

Diagrama mostrando como 0,1 e 0,2 são armazenados como frações binárias de repetição e sua soma produz 0,30000000000000004

Por que esta calculadora mostra 0,30000000000000004 em vez de algo mais limpo

A calculadora acima usa o new Function() do JavaScript para avaliar sua expressão, o que significa que ela depende diretamente da aritmética de ponto flutuante nativa de 64 bits do motor JavaScript. Não há uma camada oculta de arredondamento que limpe o resultado.

Internamente, o código arredonda o resultado para 10 casas decimais na maioria dos números — Math.round(result * 1e10) / 1e10 — mas 0.30000000000000004 já tem seu primeiro dígito inesperado na décima sétima casa decimal, bem além desse limite de arredondamento. Portanto, o resultado verdadeiro de ponto flutuante passa sem alteração.

Algumas calculadoras escondem isso arredondando agressivamente para 12 ou 13 algarismos significativos antes de exibir. Essa abordagem produz um 0.3 com aparência mais amigável, mas oculta uma precisão que um cálculo científico ou financeiro pode realmente precisar. A troca é real: mais arredondamento na exibição significa menos resultados surpreendentes, mas também menos dígitos visíveis.

Isso afeta todo cálculo decimal?

Não — e essa é a nuance fundamental. Se um erro aparece ou não depende de o resultado poder ser representado exatamente em binário de 64 bits. Algumas adições acabam arredondando perfeitamente:

  • 0,1 + 0,4 = 0,5 — 0,5 é exatamente representável em binário (0.1 na base 2), então os erros se cancelam e o resultado limpo aparece.
  • 0,25 + 0,25 = 0,5 — pelo mesmo motivo: ambos os valores são potências exatas de 2.
  • 0,1 + 0,2 = 0,30000000000000004 — nem 0,1 nem 0,2 são exatamente representáveis, e o erro combinado é grande o suficiente para sobreviver ao arredondamento da exibição.

O padrão não é "calculadoras erram nos decimais." É algo mais preciso do que isso: calculadoras são exatas com frações binárias, e a maioria dos decimais do dia a dia não são frações binárias.

O que fazer quando a precisão é importante

  • Para aritmética do dia a dia — o erro fica na décima sexta ou décima sétima casa decimal e é completamente irrelevante para compras, culinária ou controle de gastos.
  • Para cálculos financeiros — trabalhe em centavos inteiros em vez de reais fracionados sempre que possível, ou use um software de contabilidade dedicado que aplique aritmética de ponto fixo.
  • Para engenharia ou ciência — observe o limite de precisão (cerca de 15 a 17 algarismos significativos para dupla precisão IEEE 754) e avalie se isso importa para a tolerância da sua medição.
  • Para confirmar uma suspeita — subtraia o valor esperado: 0.1 + 0.2 - 0.3 na calculadora acima retorna aproximadamente 5.55e-17, o tamanho real do erro.
Experimente: digite 0.1 + 0.2 - 0.3 na calculadora acima. O resultado não é zero — é aproximadamente 5.55e-17, a diferença exata entre a aproximação armazenada e o valor verdadeiro. Esse número minúsculo é o que o 4 extra em 0,30000000000000004 representa.
Não encontrou? Crie sua própria ferramenta com IA
Comece a digitar para pesquisar...
Pesquisando...
Nenhum resultado encontrado
Tente pesquisar com palavras-chave diferentes