Dlaczego 0.1 + 0.2 nie równa się 0.3

Błąd zaokrąglenia i błąd przybliżenia w obliczeniach - Informatyka - liceum klasa 1, zakres rozszerzony (Python)

Liczby `0,1` i `0,2` nie mają skończonego zapisu dwójkowego, więc `float` przechowuje ich **przybliżenia**. Różnica jest maleńka, ale `0.1 + 0.2 == 0.3` daje `False`. Taka różnica to **błąd zaokrąglenia** (reprezentacji). Liczb zmiennoprzecinkowych nie porównuje się operatorem `==`, tylko sprawdza, czy różnica jest mniejsza od małej **tolerancji**.

print(0.1 + 0.2)
print(0.1 + 0.2 == 0.3)
print(format(0.1, ".25f"))
print(abs((0.1 + 0.2) - 0.3) < 1e-9)

Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.

Wszystkie lekcje kursu Informatyka - liceum klasa 1, zakres rozszerzony·Zaloguj się, aby zapisać postęp na koncie.