alex: nachkommastellen bei subtraktion

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

  1. 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

    --
    X-Self-Code: sh:( fo:) ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: Unusual
    X-Please-Search-Archive-First: Absolutely Yes
    1. 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

      1. @@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

        --
        Erwebsregel 208: Manchmal ist das einzige, was gefährlicher als eine Frage ist, eine Antwort.
  2. 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

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
  3. 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.

    --
    Trau Dich!