Einzelnen Beitrag anzeigen

PRehders

Registriert seit: 31. Okt 2003
Ort: Hamburg
42 Beiträge
 
#2

Re: Real, Single, Double = ungenau!?

  Alt 7. Apr 2005, 11:28
Hallo,
den Fehler kannst du letztendlich nicht verhindern; 0.1 sieht für uns (Dezimalrechner) zwar recht hübsch simpel aus, ist aber für einen (normalen) Computer (binär) eine kleine Katastrophe und lässt sich nur näherungsweise darstellen. Daher addierst du in der Schleife die Ungenauigkeit in der Darstellung immer weiter auf, bis es dann richtig sichtbar wird.
Auch die Verwendung von Extended bringt dir nur zeitweise Erleichterung.
Das ist auch der Grund für die Regel, niemals(!) solche Werte auf Gleichheit abzufragen, sondern immer mit Schranken zu arbeiten, also z.B.
if RealWert >= -0.1 AND RealWert <= +0.1 ... statt
if RealWert = 0.0 ... Bis dann

Peter
Peter Rehders
Man sollte niemanden ernst nehmen, der sich ernst nimmt.
  Mit Zitat antworten Zitat