eo schrieb am 13. Juli 2003 19:33
> eo schrieb am 13. Juli 2003 19:31
>
> > -0.0 + 0.0 = 0.0.
>
> Sorry, ich meinte genauer -0.0 + 0.0 = +0.0 (statt -0.0 + 0.0 =
> -0.0).
Du hast Recht, aber Deine Erklärung ist nicht richtig. Hinter einer
-0,0 steht ein sehr kleiner Wert, der dann als 0 angenommen wird.
Eine -0,0 kannst Du nicht eingeben. Auch existiert mathematisch
zwischen -0 und +0 kein Unterschied. Wäre also egal.
Compiler können in der Tat IEEE Vorgaben ignorieren und für die
meisten Programme ist dies sogar akzeptabel. Nur bei
wissenschaftlichen Anwendungen, bei denen die Formel vorher auf
Papier hergeleitet wurde, ist es wichtig zu wissen, wie die in
Hardware nachgebildeten Rechenoperationen sich verhalten, damit auch
die Toleranz des Ergebnisses bestimmbar wird.
Die Toleranz ergibt sich dann aus der Tatsache, dass 64Bit die
Rationalen Zahlen als unendliche Menge nicht abbilden können und der
einher gehenden Fehlerfortpflanzung.
Das interessiert aber wie gesagt die meisten Otto-Normal
Programmierer nicht, da für die 64Bit eine "hinreichend unendliche
Menge" darstellt ;-)
Schon mal versucht in ein Mandelbrot Programm soweit hinein zu
zommen, bis Du Die Matrix in der Du lebst sehen kannst? *grins*
Sven
> eo schrieb am 13. Juli 2003 19:31
>
> > -0.0 + 0.0 = 0.0.
>
> Sorry, ich meinte genauer -0.0 + 0.0 = +0.0 (statt -0.0 + 0.0 =
> -0.0).
Du hast Recht, aber Deine Erklärung ist nicht richtig. Hinter einer
-0,0 steht ein sehr kleiner Wert, der dann als 0 angenommen wird.
Eine -0,0 kannst Du nicht eingeben. Auch existiert mathematisch
zwischen -0 und +0 kein Unterschied. Wäre also egal.
Compiler können in der Tat IEEE Vorgaben ignorieren und für die
meisten Programme ist dies sogar akzeptabel. Nur bei
wissenschaftlichen Anwendungen, bei denen die Formel vorher auf
Papier hergeleitet wurde, ist es wichtig zu wissen, wie die in
Hardware nachgebildeten Rechenoperationen sich verhalten, damit auch
die Toleranz des Ergebnisses bestimmbar wird.
Die Toleranz ergibt sich dann aus der Tatsache, dass 64Bit die
Rationalen Zahlen als unendliche Menge nicht abbilden können und der
einher gehenden Fehlerfortpflanzung.
Das interessiert aber wie gesagt die meisten Otto-Normal
Programmierer nicht, da für die 64Bit eine "hinreichend unendliche
Menge" darstellt ;-)
Schon mal versucht in ein Mandelbrot Programm soweit hinein zu
zommen, bis Du Die Matrix in der Du lebst sehen kannst? *grins*
Sven