Archiv verlassen und diese Seite im Standarddesign anzeigen : Kommazahlen, Rundungsfehler bei FLOAT, warum wenn es glatt aufgeht.
Hallo Leute,
als Nichtinformatiker finde ich es seltsam das 3 * 1,1 bei einem Dezimal Typ 3,3 rauskommt, aber wenn die Zahlen als FLAOT gespeichert sind, die gleiche Rechnung 3.3000000715255737 oder ähnliches ergibt.
Mir ist klar das FLOAT begrenzt ist und das ist auch gut so und das es darum zu Rundungsfehlern kommen muss. Aber wieso kommt es bei so einer glatten Rechnung zu zu dieser Art Fehler?
Gruss Gutschy
sommerfee
13-01-2014, 08:18
0,1 und damit auch 1,1 sind binär keine "glatten Zahlen" (0,1 dezimal = 0,0001100110011... binär) , und damit ist 3 * 1,1 auch keine "glatte Rechnung" für den Prozessor.
Durch die unterschiedliche binäre Darstellung der Zahlen kann es in beiden Systemen zu Artefakten kommen. Das heißt: (rationale) Zahlen, die im Dezimalsystem „rund“ erscheinen, zum Beispiel \textstyle \frac{249}{20} = 12{,}45, können im Binärsystem nicht exakt dargestellt werden (der Wert ist 1100{,}01\overline{1100}_2). Stattdessen wird ihre Binärdarstellung im Rahmen der jeweiligen Rechengenauigkeit gerundet, so dass man bei der Rückumwandlung ins Dezimalsystem z. B. den Wert 12,44999999900468785 erhält. Dieses kann in nachfolgenden Berechnungen zu unvorhergesehenen Ab- oder Aufrundungsfehlern führen.
Quelle: http://de.wikipedia.org/wiki/Gleitkommazahl
Ach so.:)
Danke für die Info Sommerfee.
hatte das gleiche Problem. Guter Tipp Sommerfee
wenn das Problem ausschließlich bei Temperatur auftritt, würd ich zuerst mal die Sensorik überprüfen.. Mechanik kannst im Grunde ausschließen.
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.