🙏 Bitte helfen Sie uns das LibreOffice Forum zu erhalten. 🙏
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.

🍀 Wir hoffen auf Ihre Unterstützung - vielen Dank!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Ein interessanter Rechenfehler in Calc!!!

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Antworten
Wolfgang
Beiträge: 64
Registriert: Mi 30. Mai 2012, 17:14

Ein interessanter Rechenfehler in Calc!!!

Beitrag von Wolfgang » Sa 4. Mai 2024, 20:12

Moin!

Calc 24.2.0.3 rechnet falsch: die Formel

Code: Alles auswählen

=15-12*1,2
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

Code: Alles auswählen

=15-14,4 
ergibt dagegen das richtige Ergebnis 0,6.

Kann das jemand erklären?

mikele
* LO-Experte *
Beiträge: 1927
Registriert: Mo 1. Aug 2011, 20:51

Re: Ein interessanter Rechenfehler in Calc!!!

Beitrag von mikele » Sa 4. Mai 2024, 20:52

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.
Gruß,
mikele

Benutzeravatar
Basilisk
Beiträge: 77
Registriert: Do 26. Jun 2014, 14:06

Re: Ein interessanter Rechenfehler in Calc!!!

Beitrag von Basilisk » So 12. Mai 2024, 19:11

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.

Drachen
Beiträge: 220
Registriert: So 1. Mai 2011, 18:56

Re: Ein interessanter Rechenfehler in Calc!!!

Beitrag von Drachen » Mo 13. Mai 2024, 07:33

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.


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten