Registriert seit: 28. Okt 2005
25 Beiträge
Delphi 7 Personal
|
Re: Floatingpoint exception nur auf einem CPU
30. Jul 2007, 10:52
Alle Probleme sind nun behoben, indem das control-word immer wieder auf double-precision gesetzt wird.
Die trunc-Funktion liefert falsche ergebnisse, wenn ihr double-Werte übergeben werden:
double x = 1020
Trunc(x) = 1019 !
falls das FPUCW auf Extendet-Precision gestellt ist. Das liegt wahrscheinlich daran, dass beim Konvertieren von x nicht 1020.000..., sondern 1019.999999... raus kommt, was widerum möglicherweise nur auf bestimmten Prozessoren passiert.
user0
|