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
![](https://images.gutefrage.net/media/default/user/5_nmmslarge.png?v=1438863662000)
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):
![- (Mathematik, Informatik, Python)](https://images.gutefrage.net/media/fragen-antworten/bilder/522639213/0_big.jpg?v=1700076089000)
![](https://images.gutefrage.net/media/default/user/5_nmmslarge.png?v=1438863662000)
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.
![](https://images.gutefrage.net/media/default/user/5_nmmslarge.png?v=1438863662000)
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.