Dualsystem (Allgemeines)
float x = 0.9f - 0.8f;
float: 0,09999996
Wieso muss da nicht 0.1 raus kommen????
Weil die Zahl intern nicht im Dezimalsystem verarbeitet wird. Wenn die verwendete Programmiersprache nur mit acht Stellen Genauigkeit rechnet, treten beim Umwandeln vom und ins Dualsystem schon recht früh solche Rundungsfehler auf.
https://de.wikipedia.org/wiki/Gleitkommazahl
http://www.know-about.de/binaerzahlen
--
Dipl.-Ing. Martin Vogel
Leiter des Bauforums
Bücher:
CAD mit BricsCAD
Bauinformatik mit Python
gesamter Thread:
- Frage zu einer Programmierung? -
Maik Herber,
11.12.2009, 10:10
- Dualsystem -
Martin Vogel,
22.09.2016, 18:52
- Dann noch eine Frage -
Maik Herber,
11.12.2009, 10:51
- Die Sinnfrage der Rechengenauigkeit - Martin Vogel, 11.12.2009, 12:28
- Dann noch eine Frage -
Maik Herber,
11.12.2009, 10:51
- Dualsystem -
Martin Vogel,
22.09.2016, 18:52