Einzelnen Beitrag anzeigen

Schwabix

Registriert seit: 11. Okt 2004
Ort: Aachen
9 Beiträge
 
Delphi 2006 Professional
 
#5

Re: 0 + 0.1 = ? Probleme mit dem Datentyp Single?

  Alt 12. Okt 2004, 00:14
Hallo,

So sehr das schockieren mag, single ist nicht genauer!

Mit Extended ist der Fehler deutlich kleiner, aber trotzdem vorhanden. Das ist auch der Grund, warum Ausdrücke wie
if (mySingle = 0.0) then ...
riskant sind.
Man sollte statt dessen immer
if (mySingle - 0.0 < single_epsilon) then ...
schreiben und single_epsilon als Konstante als den kleinsten tolerierbaren Fehler definieren.

Zurück zum Problem: Ganzzahlarithmetik, falls möglich; oder Extended, falls der (geringe!) Fehler einer Single-Variablen zu groß ist.

Schwabix
Markus
  Mit Zitat antworten Zitat