Zahlen wie die hier angegebenen lassen sich problemlos (und selbst mit
einfacher Genauigkeit) problemlos als Fließpunktzahl darstellen. Es
liegt also definitiv ein Fehler vor, und der ist bei mir
reproduzierbar. Die Frage ist nun, woran es liegt: Calc oder ein
Fehler im Microcode des Prozessors …
Das mit der Darstellung ist mir klar, beseitigt aber nicht das
Problem, wenn man exakte Werte bestimmen will. Bei der hier gebildeten
Summe aus vier niedrigen Werten mit maximal einer Stelle hinter dem
Komma darf es da auch keine Differenzen geben.
Wenn es bei Dir funktioniert, ist es möglicherweise dann doch ein
Problem des Prozessors …
Am 23.05.2018 um 18:21 schrieb Thomas Krumbein:
Hallo Andre,
die Liste akzeptiert keine Anhänge - die werden abgeschnitten.
Allerdings ergibt Deine unten angegeben Berechnung in einer Zeile
exakt 2,1 - also wie erwartet. Egal, ob Du sie als eine Zeile
eingibst (=702,1 – 200 - 300 - 200) oder jeden Wert in eine Zelle
eingibst und dann die Zellen summierst.
Du musst allerdings auch bedenken, dass ein Computer nie korrekt
rechnen kann - es wird also immer zu Rundungsfehlern kommen. Meist
sind die aber so gering und werden durch die Darstellung wieder
aufgehoben. Da Deine erste Zahl eine Dezimalzahl ist, wird intern mit
einem Double-Wert gerechnet - und der kann nie exakt sein.
Aber darüber gibt es schon soooo viele Diskusionen und Artikel -
einfach mal in Google suchen.
Und ja, das dargestellt Ergebnis deiner 2. Mail (2,1000000002) ist
eben ein Ergebnis der wieder zurückgewandelten Double-Zahl - und nie
mathematisch exakt.
Ist übrigens keine Besonderheit von Calc... kann kein
Kalkulationsprogramm besser.
Prüfe übrigens mal die Einstellung in den Optionen: Extras - Optionen
- LO Calc -> Berechnen. Die Option "Genauigkeit wie angezeigt" sollte
aktiviert sein - dann wird ein solcher Effekt nicht direkt sichtbar
sein.
VG
Thomas
Am 23.05.2018 um 17:45 schrieb André Piotrowski:
ich bin vor einiger Zeit über einen Fehler in Calc gestolpert. Obwohl
es sich um einfache (im Dualsystem gut darstellbare) Zahlen handelt,
führt bereits eine Reihe simpler Addition zu Ungenauigkeiten – siehe
Anhang (einmal als ODS, einmal als PDF).
###
Mein System:
LinuxMint 18.3 auf einem Rechner mit i7-7700 und 8 GB Speicher.
###
702,1 – 200 - 300 - 200 != 2,10
###