Seite 1 von 1
Ein interessanter Rechenfehler in Calc!!!
Verfasst: Sa 4. Mai 2024, 20:12
von Wolfgang
Moin!
Calc 24.2.0.3 rechnet falsch: die Formel
ergibt für Calc 0,600000000000001. Es sollte aber einfach nur 0,6 ergeben.
Zuerst dachte ich an einen Fehler in den Werten der Zellen, aus denen die einzelnen Zahlen der Rechnung entnommen werden. Aber dann habe ich die Rechnung genau so in eine leere Zelle eingegeben und war doch sehr erstaunt. Ich halte das für eine sehr simple Berechnung, bei der noch nicht einmal gerundet werden muss, wie z.B. bei der Division durch 3.
Die Formel
ergibt dagegen das richtige Ergebnis 0,6.
Kann das jemand erklären?
Re: Ein interessanter Rechenfehler in Calc!!!
Verfasst: Sa 4. Mai 2024, 20:52
von mikele
Hallo,
es ist erklärbar und wurde z. B.
viewtopic.php?f=6&t=38893 lang und breit diskutiert.
Kurz: Intern rechnet jeder Computer dual und muss aufgrund der endlichen Stellenzahl irgendwann die Nachkommastellen abschneiden (0,1 ist dual ein unendlicher, periodischer Bruch). Dadurch ergeben sich Abweichungen, die durch verschiedene numerische Algorithmen möglichst klein gehalten werden, aber nicht ganz vermeidbar sind.
Re: Ein interessanter Rechenfehler in Calc!!!
Verfasst: So 12. Mai 2024, 19:11
von Basilisk
mikele hat geschrieben: ↑Sa 4. Mai 2024, 20:52
Kurz: Intern rechnet jeder Computer dual und muss aufgrund der endlichen Stellenzahl irgendwann die Nachkommastellen abschneiden (0,1 ist dual ein unendlicher, periodischer Bruch).
Calc macht das so. Wie ein Computer und ob er überhaupt rechnet ist Ansichtssache. Er setzt oder löscht Bits oder auch nicht. Da wir bestimmte Bitkombinationen als Zahlen interpretieren, kann man eine Logik bauen, die aus zwei solchen Bitkombinationen eine dritte erzeugt, so dass diese in unserer Interpretation die Summe ist. Eine solche Schaltung nennen wir dann Addierer. Deren Verwendung durch einen Befehl nennt man Addition. Ein Computer könnte auch dezimal rechnen. Tatsächlich haben manche CPUs sogar Befehle mit den man ein Ergebnis der üblichen arithmetischen Befehle so
hinbiegen kann, dass es aussieht als wäre mit BCD gerechnet worden. Ein Computer kann auch basisunabhängig rechnen, etwa mit gemischten, gekürzten Brüchen. Dann sind 1/2, 1/3 und 1/7 problemlos gleichzeitig exakt darstellbar.
Re: Ein interessanter Rechenfehler in Calc!!!
Verfasst: Mo 13. Mai 2024, 07:33
von Drachen
Basilisk hat geschrieben: ↑So 12. Mai 2024, 19:11
Ein Computer könnte auch dezimal rechnen.
Und ich dachte bisher, die Computer rechnen mit Nullen und Einsen, also Dualzahlen, und lediglich die Darstellung erfolgt als Dezimal-, Oktal-, Hexadezimal- oder wasauchimmer-Zahl. Hab es aber nicht mehr so exakt in Erinnerung, denn meine nicht so ausführliche Beschäftigung mit Assembler ist schon Jahrzehnte her.