Dobrý den,

tohle lze těžko považovat za chybu. Přesnost výpočtu je dána zobrazením desetinných čísel v 32 bitovém nebo 64 bitovém slově počítače. Pokud se nepoužijí speciální (a náročné) algoritmy pro práci s čísly s velkou přesností, tak se s tím nedá mnoho dělat. Proto se také v programování např. nesmí porovnávat výsledky operací s desetinnými čísly na rovnost a zachování přesnosti výpočtu v náročných numerických výpočtech je věda hraničící s uměním.

Jiří Spitz

Ing. Ondřej Navrátil napsal(a):
Dobrý den,
používám OOo 2.2 RC4 z 17.3.07 na W2K SP4 a narazil jsem na nepříjemnou chybu v součtech a výpočtech za více než 60 řádků. Podmínkou je, že se musí sčítat čísla s desetinou částí

problém si nasimulujete takto: sloupec A vyplňte čísly 0,1; do B1:=A1, do B2 := A2+B1 a B2 roztáhněte / rozkopírujte na celý sloupec B s výjimkou B1. Označte celý sloupec B a nastavte zobrazení 14-ti míst za desetinnou čárkou. Pokud budete prozorovat stejný problém tak v B61 dostanete číslo 6,09999999999999 namísto 6,1 - to se tam však ukáže pokud nastavíte zobrazení pouze 13-ti desetinných míst. V buňce B65536 pak bude hodnota 6553,60000000631000.


Problém nastává i při použití sum a kontingenčních tabulek.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Odpovedet emailem