Thread Runden *war Subtrahieren in Perl ...
(55 answers)
Opened by Muffi at 2013-09-25 10:41
Mir fehlt noch das warum. Dann könnt ich jetzt eher sagen ob ich irgendwo häng oder ob meine Vermutung stimmt, dass du Fließkommazahlen nicht ganz verstanden hast.
Nehmen wir an meine Vermutung stimmt und wir fangen einfach an. Code (perl): (dl
)
say nearest(0.01, 0.005); # 0.005 auf 2 Nachkommastellen runden 0.01 Logisch. Wir erweitern den Code unerheblich auf Code (perl): (dl
)
say nearest(0.01, 2.024-2.019); # 2.024-2.019 = 0.005 Wir erwarten also logischerweise das gleiche Ergebnis. Und: 0.01 Tadaaaa, wir haben recht. Zur Sicherheit lassen wir und das Ergebnis der Differenz ausgeben Code (perl): (dl
)
say 2.024-2.019; Und Bumms 0.00499999999999989 Das sollte gerundet eigentlich 0.00 ergeben. Kann es sein, das jetzt grad dein Weltbild von Fließkommazahlen einen kleinen Knacks bekommen hat? 1 + 1 = 10
|