Thema: Delphi Single -> Extended

Einzelnen Beitrag anzeigen

Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
711 Beiträge
 
Delphi XE5 Professional
 
#3

AW: Single -> Extended

  Alt 8. Sep 2022, 16:10
Hallo Hans,
wie Sebastian bereits geschrieben hat, gibt es wegen der binären Kodierung bei allen RealTypen unvermeidbare Rundungsfehler. Das liegt in der Natur der Sache, denn es gibt unendlich viele Reelle Zahlen, die wir mittels Single, Real48, Double oder Extended auf eine endliche Menge binärer Darstellungen mit endlichen Ziffern abbilden.
Selbst die Dezimalzahl 0,1 läßt sich binär nicht exakt darstellen, wodurch bereits bei der Eingabe ein Rundungsfehler entsteht.

Dein Vorhaben läßt sich daher leider nicht realisieren. Wenn es Dir lediglich um die Anzeige der Ergebnisse mittels ShowMessage(..) geht, dann hilft nur das "Verstecken" der falschen Ziffern durch Runden der Zahlen bzw. der Anzeige...

Wenn Du ausschließlich für Windows programmierst und ein 32-Bit-Kompilat verwenden wills, würde ich Dir allerdings Extended empfehlen, nicht Double: Damit hast Du einen wesentlich größeren Zahlenbereich, 3..4 Stellen mehr und damit weniger Rundungsfehler als bei Double.

Grüße, Andreas
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)
  Mit Zitat antworten Zitat