BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Warum kann LibreOffice nicht 1,001 -1 ausrechnen?

CALC ist die Tabellenkalkulation, die Sie immer wollten.
musikai
Beiträge: 262
Registriert: Do 14. Mai 2015, 17:53

Re: Warum kann LibreOffice nicht 1,001 -1 ausrechnen?

Beitrag von musikai » Mo 5. Jun 2023, 20:28

Die Logik versteh ich auch nicht.

Code: Alles auswählen

=WENN(1,01-1=0,01)
ist wahr

Code: Alles auswählen

=WENN(10,01-10=0,01) 
=WENN(10,1-10=0,1) 
=WENN(1,001-1=0,001) 
sind alle falsch
Nur durch Rundung des Rechenergebnisses wirds wahr:

Code: Alles auswählen

=WENN(RUNDEN(1,001-1;10)=0,001)
ist wahr
Allerdings nur beim Runden bis ca. 14 Stellen (variiert von Zahl zu Zahl):

Code: Alles auswählen

=WENN(RUNDEN(10,00000000001-10;14)=0,00000000001)
ist wahr

Code: Alles auswählen

=WENN(RUNDEN(10,00000000001-10;15)=0,00000000001)
ist falsch
Ist bereits in LO4 der Fall.
Win7 Pro, Sibelius 7.1.3, Lubuntu 15.10, LibO 4.4.7, OO 4.1.3
Free Project: LibreOffice Songbook Architect (LOSA)
http://struckkai.blogspot.de/2015/04/li ... itect.html

gogo
Beiträge: 1072
Registriert: Sa 5. Feb 2011, 19:07

Re: Warum kann Google nicht 1,001 -1 ausrechnen?

Beitrag von gogo » Mo 5. Jun 2023, 21:37

Re: Warum kann Google nicht 1,001 -1 ausrechnen?
::Sarkasmus_on::
uaaah: den Bug gibt's ja auch bei Google!!!
https://docs.google.com/spreadsheets
Screenshot_20230605_201158.png
Screenshot_20230605_201158.png (31.6 KiB) 641 mal betrachtet
::Sarkasmus_off::
gogo555 hat geschrieben:Wenn Du maximale Genauigkeit brauchst, dann musst Du das Problem verstehen, ansonsten ist es ausreichend, an den richtigen Stellen mit der ausreichenden Genauigkeit zu runden.
... nachdem Du gefragt hast:
Volker_D hat geschrieben:...Und was heißt hier "wenn du maximale Genauigkeit brauchst"?: Nochmal: Es geht hier um 4 Stellen Genauigkeit! 4 Stellen!...
Runde auf 4 Stellen!
Wenn Du Hilfe zu Rundungssystemen brauchst: https://gw.eduhi.at/programm/webeuro/7r ... ead_mf.htm
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu

Volker_D
Beiträge: 47
Registriert: Sa 3. Jun 2023, 16:46

Re: Warum kann LibreOffice nicht 1,001 -1 ausrechnen?

Beitrag von Volker_D » Mo 5. Jun 2023, 21:43

Ohh... eigentlich haben wir all diese Fälle in diesem Thread besprochen und geklärt.
Ich versuche es noch einmal im Kurzformat, ansonsten bitte noch einmal diesen Thread von vorne komplett lesen und dann noch mal fragen.

Vereinfacht gesagt sind es mehrere Probleme, die zu solchen Effekten führen können:

1. Dezimalzahlen mit Komma sind oft (aber nicht immer) im Dualsystem periodisch/unendlich lang.
Die Zahl kann sich also nicht ganz gemerkt werden. Und wird verkürzt/gerundet.
Damit hat man als erstes das Problem, dass ich eine Zahl von Dezimal in Dual speicher muss und dann wieder die Dualzahl auslesen muss und sie Dezimal darstelle.
Da nicht alle Ziffern vorhanden sind, ist die Zahl nicht mehr die gleiche. Sie ist etwas größer bzw. kleiner.
Wenn man rundet, dann sieht man den Unterschied nicht. Und man müsste, bezogen auf die Vergleiche, eigentlich immer auf maximal 15 Stellen runden, da die Ziffern danach falsch sein können.

2.
Bei den Rechnungen, die "eigentlich" das gleiche Ergebnis liefern, kann man es aber schaffen, dass die Zahl etwas früher gerundet wird, weil für die Rechnung nur eine begrenzte Anzahl an Stellen zur Verfügung steht.
Daher ist das eine Ergebnis hier wieder nicht die gleiche Zahl, aber diesmal eine etwas andere.

Daher sind die Vergleiche immer falsch, wenn man mehr als 15 Stellen benutzt. Und die Tabellenkalkulationprogramme nutzen standartmäßig mehr Stellen zum Vergleichen, obwohl man schon vorher weiß, dass das falsch ist.

Stell dir vor du hast 5 Stellen Platz und die Zahl:
0.3333

Jetzt Addiere ich 20:
20.333
(Ich könnte mir eine 3 weniger merken, weil ich nur 5 Stellen Platz habe!)

Jetzt ziehe ich wieder 20 ab:
0.3330
(Die 3 hinten kenne ich nicht mehr. Sie ist verloren gegangen!)

Also die Aufgabe 0.3333 + 20 - 20 ergibt für den Computer 0.333 (Also eine 3 weniger!) Und 0.3333 ist nicht das gleiche wie 0.333. Obwohl da jeder im Kopf ausrechnen kann, dass es doch 0.3333 sein müsste.

Bei den Aufgaben ohen ist es analog:
Wieder 5 Stellen Platz. Die "Plus Rechnung ist da nur "versteckt" (1,01 = 1+ 0,01 ):
20+1/3
=20.333

Jetzt -20
=0.3330

1/3 ist
0.33333

Ich vergleich (20+1/3)-20 mit 1/3 und sehe
0.3330 ist etwas anderes als 0.3333
Zuletzt geändert von Volker_D am Mo 5. Jun 2023, 22:43, insgesamt 9-mal geändert.

Volker_D
Beiträge: 47
Registriert: Sa 3. Jun 2023, 16:46

Re: Warum kann Google nicht 1,001 -1 ausrechnen?

Beitrag von Volker_D » Mo 5. Jun 2023, 21:50

@ gogo:
Versteh deinen Screenshot nicht. Welchen Sinn soll der haben? Liest du überhaupt meine Beträge? Ich habe geschrieben, dass es auch in der aktuellen Excel Version passiert und in der aktuellen Google Version.

Und bei "maximaler Genaugigkeit" ein Runden auf 4 Stellen vorzuschlagen ist schon witzig. Durch Runden auf 4 Stellen werden Rechnungen grundsätzlich erstmal ungenauer :-)
Zuletzt geändert von Volker_D am Mo 5. Jun 2023, 22:12, insgesamt 1-mal geändert.

gogo
Beiträge: 1072
Registriert: Sa 5. Feb 2011, 19:07

Re: Warum kann LibreOffice nicht 1,001 -1 ausrechnen?

Beitrag von gogo » Mo 5. Jun 2023, 21:52

eot - Du verstehst Dein Problem nicht
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu

Volker_D
Beiträge: 47
Registriert: Sa 3. Jun 2023, 16:46

Re: Warum kann LibreOffice nicht 1,001 -1 ausrechnen?

Beitrag von Volker_D » Mo 5. Jun 2023, 22:00

Wenn du das sagst, dann muss das ja stimmen. Ich melde mich bei dir, wenn ich weiter Fragen habe, großer Meister der Logik und Freundlichkeit.

Volker_D
Beiträge: 47
Registriert: Sa 3. Jun 2023, 16:46

Re: Warum kann LibreOffice nicht 1,001 -1 ausrechnen?

Beitrag von Volker_D » Mo 5. Jun 2023, 23:33

hmm... eigentlich jetzt, wo ich die Zusammenfassung geschrieben habe und noch einmal nachgedacht habe, könnte man das Problem theoretisch auch anders lösen.
In der Physik mussten wir bei Versuchsauswertungen bei den Rechnungen immer aufpassen, welche Stellen signifikant sind und das von Rechnung zu Rechnung mitführen. Im Grunde fehlt das bei den Zahlen in der Informatik. Wenn man das hier auch machen würde, dann würde man noch mehr Fehler abfangen können. Insbesondere dann, wenn man Rechenoperationen mehrfach duchführt.
hmm.... Wer braucht den schon Zahlen bis 10^308 oder bis 10^-307, so wie es das IEEE 754 64bit erlaubt? Selbst dabei sind nur 15 Stellen signifikant. Mit 4 Bit kann ich schon Werte bis 16 merken. Wenn also Matisse und/oder Exponent in der Summe 4 Bit kürzer wären, dann könnte man die signifikanten Stellen mitführen und immer "richtig" runden. Man würde nicht mal aus versehen zu viel oder zu wenig runden. Damals ist man ja auch i.d.R. sogar mit nur 32 bit ausgekommen, dürfte also für viele nicht also wild sein. Oder übersehe ich etwas wesentliches bei dem Gedankengang?

Benutzeravatar
karolus
Beiträge: 2170
Registriert: Fr 10. Dez 2010, 10:01

Re: Warum kann LibreOffice nicht 1,001 -1 ausrechnen?

Beitrag von karolus » Di 6. Jun 2023, 08:13

Volker_D hat geschrieben:
Mo 5. Jun 2023, 23:33
hmm... eigentlich jetzt, wo ich die Zusammenfassung geschrieben habe und noch einmal nachgedacht habe, könnte man das Problem theoretisch auch anders lösen.
Es geht hier aber nicht um theoretische Lösungen es geht um praktische
Volker_D hat geschrieben:
Mo 5. Jun 2023, 23:33
In der Physik mussten wir bei Versuchsauswertungen bei den Rechnungen immer aufpassen, welche Stellen signifikant sind und das von Rechnung zu Rechnung mitführen. Im Grunde fehlt das bei den Zahlen in der Informatik. Wenn man das hier auch machen würde, dann würde man noch mehr Fehler abfangen können. Insbesondere dann, wenn man Rechenoperationen mehrfach duchführt.
jetzt schweifst du noch weiter ab…
Volker_D hat geschrieben:
Mo 5. Jun 2023, 23:33
hmm.... Wer braucht den schon Zahlen bis 10^308 oder bis 10^-307, so wie es das IEEE 754 64bit erlaubt? Selbst dabei sind nur 15 Stellen signifikant. Mit 4 Bit kann ich schon Werte bis 16 merken. Wenn also Matisse und/oder Exponent in der Summe 4 Bit kürzer wären, dann könnte man die signifikanten Stellen mitführen und immer "richtig" runden. Man würde nicht mal aus versehen zu viel oder zu wenig runden. Damals ist man ja auch i.d.R. sogar mit nur 32 bit ausgekommen, dürfte also für viele nicht also wild sein. Oder übersehe ich etwas wesentliches bei dem Gedankengang?
…und der letzte Absatz beweist, daß du weder den Unterschied zwischen (per Konvention) darstellbaren Zahlenraum und Anzahl an signifikanten Stellen verstehst.
…noch den Unterschied zwischen ganzen Zahlen und Flieskommazahlen. (respektive deren binären Darstellungen)

Damit hat dieser Thread eine rekordverdächtige Anzahl an Beiträgen ( es braucht schon 6bit in integer-Darstellung )
EOT
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.3.2 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)

Wanderer
Beiträge: 895
Registriert: Di 11. Feb 2014, 20:03
Wohnort: Berlin

Re: Warum kann LibreOffice nicht 1,001 -1 ausrechnen?

Beitrag von Wanderer » Di 6. Jun 2023, 09:25

Volker_D hat geschrieben:
Mo 5. Jun 2023, 23:33
... Oder übersehe ich etwas wesentliches bei dem Gedankengang?
Primär nur, dass Du warten musst, bis alle/viele (neuen) Computer Deine neue Bauweise übernommen haben und evtl noch ein paar Bugs beim Anpassen der Software behoben wurden.

Wenn Du ins Altertum zurück willst: Es gab mal BCD-Zahlen. Binary coded decimals verschwenden einfach Platz und Zeit um die Umrechnungsproblematik zu vermeiden.

Mein Fazit: Wenn Du präzise rechnen eilst, nimm ein System für Computer-Algebra. Calc, Excel und Google werden noch sehr lange so wie bisher funktionieren.

Und bim Thema, wer braucht so grosse Zahlen. Chemiker bei 1 mol = 6*10^23 sind da schnell. Astronomen sind auch gerne mal an den Grenzen der Berechenbarkeit - aber es gibt ja keine Notwendigkeit das alles in Calc zu machen.
LO 6.0.7 (32Bit) Win8.1 Pro 32 Bit/ LO 6.3.2 Win10 64Bit / LO 6.0.7 Win7 Pro 64 Bit

gogo
Beiträge: 1072
Registriert: Sa 5. Feb 2011, 19:07

Re: Warum kann LibreOffice nicht 1,001 -1 ausrechnen?

Beitrag von gogo » Di 6. Jun 2023, 09:42

Aus Gründen der Aktualität:
ich glaub' das passt auch noch zum Thema: https://orf.at/stories/3319208/
... etwa 610 Stimmen, also 3 signifikante Stellen - bis dato noch kein relevanter Nachkommabereich zu erkennen ;)
Dateianhänge
Screenshot_20230606_094048.png
Screenshot_20230606_094048.png (99.12 KiB) 551 mal betrachtet
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten