APRENDA NO PRÓPRIO RITMO

Por que 0,1 + 0,2 não dá 0,3 no computador

Publicado em

Em JavaScript ou em Python, 0.1 + 0.2 dá 0.30000000000000004, e não 0,3. Acontece em qualquer computador, porque ele guarda os decimais como frações de denominador 2, 4, 8, 16… e o 0,1 não pode ser escrito assim. A conta com frações, 1/10 + 2/10, dá 3/10 e não perde nada.

Exemplo resolvido: a mesma soma com frações

Some 0,1 e 0,2 sem números binários.

  1. Escreva cada decimal como fração. 0,1 = 1/10 e 0,2 = 2/10.
  2. Some os numeradores. Os denominadores já são iguais: 1 + 2 = 3.
  3. Mantenha o denominador. O resultado não pode ser simplificado.

Resultado: 0,3, sem erro.

Verificação: 3/10 são três décimos, e 0,1 + 0,2 também são três décimos.

Para passar qualquer decimal para fração, use a calculadora de decimal para fração, que parte dos dígitos escritos.

O que o computador guarda de verdade

As linguagens de programação usam quase sempre números de ponto flutuante em precisão dupla (IEEE 754). Cada um é uma fração cujo denominador é uma potência de 2. Ao escrever 0,1, o programa guarda a mais próxima: 3602879701896397/2⁵⁵, que vale 0,1000000000000000055511151231257827… É um pouco mais que 0,1. A documentação do Python indica que o valor guardado para 0.1 é a fração binária 3602879701896397 / 2**55, próxima de 1/10, mas não igual.

A saída arredonda ao mostrar o número, e por isso 0.1 parece correto. Pedindo mais casas, a diferença aparece.

O que é guardado e o valor decimal que se escreve
EscritoGuardadoDiferença em relação ao escrito
0,10,1000000000000000055511…+5,6 × 10⁻¹⁸
0,20,2000000000000000111022…+1,1 × 10⁻¹⁷
0,30,2999999999999999888977…−1,1 × 10⁻¹⁷
Soma guardada de 0,1 + 0,20,3000000000000000444089…+4,4 × 10⁻¹⁷ em relação a 0,3

O 0,2 guardado é exatamente o dobro do 0,1 guardado, então carrega o dobro do erro. Ao somar, o resultado é arredondado de novo para a fração binária mais próxima, e esse número é diferente do que foi guardado para 0,3. Os dois ficam em lados opostos de 3/10, e por isso a comparação 0.1 + 0.2 == 0.3 dá falso. A soma do computador está certa; o que muda são os números de partida.

Por que 1/10 não cabe no binário

Uma fração irredutível tem escrita finita numa base quando o denominador usa apenas os fatores primos dessa base. Na base 10, são o 2 e o 5. Na base 2, só o 2. O denominador 10 tem um fator 5, então em binário a escrita se repete sem fim: 0,000110011…₂, com o bloco 0011. É o mesmo fenômeno que faz 1/3 ser 0,333… na base 10, com outro número primo e outra base. O guia de frações com decimal exato desenvolve a regra na base 10, e o de decimais exatos e periódicos explica como se escreve um período.

Para distinguir os dois casos, observe o denominador depois de simplificar.

Decimais que o computador guarda sem erro e decimais que não
DecimalFraçãoExato em binário?
0,51/2Sim, denominador 2
0,1251/8Sim, denominador 8 = 2³
0,6255/8Sim, 0,101₂
0,21/5Não, o denominador 5 não é potência de 2
0,33/10Não, o denominador 10 tem um fator 5
0,753/4Sim, denominador 4

Entre os décimos, só o 0,5 é guardado sem erro; os quartos e os oitavos também. Para ver o decimal de qualquer fração e saber se ele termina ou se repete, use a calculadora de fração para decimal.

O que fazer na prática

Há três saídas, conforme a necessidade.

Com valores em dinheiro, outra opção é contar em centavos (cêntimos, em Portugal) com números inteiros e dividir por 100 só ao mostrar. Assim, R$ 12,50 vira 1250 centavos. Os inteiros até 2⁵³ são guardados sem perda, então cada soma sai sem erro. A decisão concreta depende de cada sistema.

A calculadora deste site segue o mesmo princípio: opera com inteiros e frações, e por isso 0,1 + 0,2 dá 3/10 na calculadora de frações. O decimal que aparece é uma apresentação do resultado, e a fração é o valor de referência. A metodologia explica como os cálculos são feitos e conferidos.

Fonte: documentação do Python em português, Aritmética de ponto flutuante: problemas e limitações (consultado em 17 de outubro de 2026). Os valores da tabela foram conferidos com aritmética exata de frações.

Próximo passo

Blog de frações Escolha um artigo de frações conforme a necessidade: preparar uma aula, praticar, entender um procedimento ou ler uma curiosidade, com um…
Informar um erroComo tratamos as correções

Usar a calculadora de frações

CALCULADORA SEMPRE À MÃO

Instalar a calculadora

Abra o menu do navegador e procure a opção de instalar o aplicativo ou de adicionar à página inicial. Também é possível guardar esta página nos favoritos.