nachkommastellen bei subtraktion
alex
- javascript
hi,
wieso bekomme ich bei manchen simplen rechnungen krumme werte raus?
-2.1 + 0.1 -> -2
-2.0 + 0.1 -> -1.9
-1.9 + 0.1 -> -1.7999999999999998
-1.8 + 0.1 -> -1.7
-1.7 + 0.1 -> -1.5999999999999998
und noch ein paar andere die nicht so richtig rechnen wollen...
ist das n bug?
alex
Das scheint ein klassischer Gleitkommafehler zu sein, wie er bspw. bei Excel gut vertreten ist. Welche Sprache bzw. welches Programm verwendest Du denn zum Rechnen?
Gruß, LX
Das scheint ein klassischer Gleitkommafehler zu sein, wie er bspw. bei Excel gut vertreten ist. Welche Sprache bzw. welches Programm verwendest Du denn zum Rechnen?
Gruß, LX
steht doch da: javascript ;)
hab inzwischen noch nen thread gefunden
http://forum.de.selfhtml.org/archiv/2005/10/t117689/#m753906
@@alex:
hab inzwischen noch nen thread gefunden
Du hättest die FAQ lesen sollen (die Startseite weist dich explizit darauf hin), und zwar bis zum Ende.
Live long and prosper,
Gunnar
Hi,
wieso bekomme ich bei manchen simplen rechnungen krumme werte raus?
weil Gott ein asozialer Sadist ist. Anders ist es nicht zu erklären, dass er uns zehn Finger gegeben hat anstatt sehr viel nützlicheren Mengen wie 8 oder 16.
und noch ein paar andere die nicht so richtig rechnen wollen...
Sie rechnen binär absolut korrekt im Rahmen der vorhandenen Genauigkeit. Bei der Umrechnung ins Dezimalsystem ergeben sich Rundungsfehler.
ist das n bug?
Wenn Du an Gott glaubst: Ja, ein vorsätzlich eingebauter. Im Rahmen der Evolution hingegen kannst Du nichts und niemandem einen Vorwurf machen: Das Binärsystem spielt für unser Über- und Leben einfach zu wenige tausend Jahre eine Rolle, als dass sich bereits irgend etwas an uns hätte geändert haben können.
Cheatah
Moin!
Das ist normal. Wenn es fuer dich einen Unterschied macht, ob -2 + 0.1 -1.9 oder - 1.89 ist, dann rechne -20 + 1.
Spontan faellt mir keine Sprache ein, bei der es das nicht gibt. DIe laufen chliessliach alle auf PCs. Mein C# Buch widmet sich diesem Problem sogar recht ausfuehrlich, wenn ich mich richtig erinnere.