Widersprüchliche Rechenergebnisse



  • Hab das Problem mit der numerischen Auslöschung jetzt weitgehend hinterstiegen. Der ganze Rest mit fehlender Assoziativität und so weiter ist dann aber scheinbar doch noch etwas komplizierter.
    Um hier noch auf einzelne Posts einzugehen:

    Werner_logoff schrieb:

    climits schrieb:

    die 1.234567e-7 kann ich nachvollziehen.

    .. glaub' ich nicht. Ersetze mal Zeile 13 durch

    std::cout << b+c+a << std::endl;
    

    Kommt bei mir wieder das selbe, also 1.234567e-7 raus, was aber auch nicht verwunderlich ist denn auch hier..

    mantiz schrieb:

    Bei "c + a + b" tritt der "Fehler" übrigens auf: http://ideone.com/OOQr41

    Tritt der Fehler bei mir nicht auf, bzw. ich kriege wieder 1.234567e-7 statt 1.19209e-07 ausgegeben. Keine Ahnung woran das liegt. Vielleicht weil ich einen AMD nutze? Mit Rechenarchitektur kenn ich mich nun überhaupt nicht aus.
    Wundern tut es mich aber dass es zumindest bei mantiz und auf der Internetseite tatsächlich einen Unterschied macht, ob man nun a+b+c oder c+a+b rechnet. Da wird in einem Fall dann wie SeppJ meinte, wohl das "Rechenwerk" mit 80 bit genutzt (oder SSE, x87...) und im anderem Fall aus irgendwelchen Gründen nicht.


Anmelden zum Antworten