Taschenrechner programmieren (Python) - Problem?
Hallo, ich lerne gerade Python und wollte einen Taschenrechner programmieren.
Als ich ihn ausgetestet habe, kamen aber aber manchmal sehr genaue Ergebnisse.
Woran liegt das?
2 Antworten
Das liegt am Format, in denen Gleitkommazahlen üblicherweise gespeichert werden.
Dieses ermöglicht einen großen Wertebereich, jedoch nur mit begrenzter Genauigkeit.
Siehe auch:
https://de.wikipedia.org/wiki/IEEE_754
Zur Verdeutlichung der Verteilung (diese ist logarithmisch):

Jein. Das ist für das Verständnis jetzt erst einmal nicht wichtig, aber insgesamt dann schon, ja.
Dann will man evtl. aber auch erklären, welche Operationen (Addition/Subtraktion) die Genauigkeit tendenziell verringern.
Ich füge mal eine Grafik an.
Schaue Dir:
https://docs.python.org/3/library/decimal.html
an.
Es gibt gute Gründe, warum man für einen Taschenrechner im Zweifelsfall gerade keine IEEE-Floats nutzt.
Viel wichtiger ist eigentlich noch, daß die Genauigkeit über den Wertebereich nicht homogen verteilt ist.