Kde to jde, vyhýbejte se v počítači porovnávání desetinných čísel.
V předchozím příkladu jsme sice chtěli vypisovat desetinná čísla, ale v cyklu
jsme počítali s celými čísly (postupné přičítání), teprve pak jsme dělili tisícem.
Takový přístup je chytrý a bezpečný. Vnitřní aritmetika mikroprocesoru v počítači
počítá ve skutečnosti v tzv. dvojkové (binární) soustavě a výpočty, které nám v naší desítkové soustavě
připadají naprosto bezpečné a přesné, mohou v binární soustavě vést např. na nekonečně periodická
čísla, a může tudíž docházet k nepřesnostem vlivem zaokrouhlování.
Na takové problémy narazíme např. při postupném přičítání desetinných čísel, a zvláště pak při porovnávání
dvou desetinných čísel s dotazem, zda se rovnají. Je to překvapivé, ale ve většině programovacích
jazyků skončí např. dotaz na rovnost čísel 3.14*5 a 15.7 negativní odpovědí, podle procesoru počítače
se obě čísla nerovnají!