Často kladené otázky - Calc

From The Document Foundation Wiki
< Faq‎ | Calc
Jump to: navigation, search
This page is a translated version of the page Faq/Calc/Accuracy and the translation is 100% complete.

Other languages:
čeština • ‎dansk • ‎English


Problém s inherentní přesností

Calc, stejně jako většina ostatních tabulkových procesorů, používá matematické funkce s pohyblivou řádovou čárkou, dostupnou hardwarově. Vzhledem k tomu, že nejmodernější hardware používá aritmetiku s pohyblivou řádovou čárkou s omezenou přesností definovanou v IEEE 754, nelze v programu Calc přesně vyjádřit mnoho desetinných čísel - včetně tak jednoduchých jako 0,1 (Calc interně používá 64bitová čísla s dvojitou přesností). Výpočty s těmito čísly [1] nutně vedou k chybám zaokrouhlování a ty se při každém výpočtu hromadí. Nejedná se o chybu, ale také o nic překvapivého, čemu by se dalo v současnosti vyhnout, aniž bychom museli používat složité softwarové výpočty, které by si kladly neúměrné požadavky na výkon, což je vyloučeno. Uživatelé s tím musejí počítat a podle potřeby použít zaokrouhlování a porovnání s epsilon.

Příklad:

A
1 31000.99
2 32000.12
3 =A1-A2

Výsledkem bude -999,129999999997 v A3, namísto očekávaných -999,13 (možná budete muset zvýšit počet zobrazených desetinných míst ve formátu buňky, abyste viděli uvedený výsledek).