Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#11

Re: floats auf Null prüfen (C++)

  Alt 4. Apr 2008, 19:37
Man kann den Epsilonwert berechnen lassen.
Man nimmt die Zahl 1.0 und halbiert so lange, bis 1.0+Epsilon = 1.0 ergibt:
Delphi-Quellcode:
var
   Epsilon : Double;
procedure CalcMachineEpsilon; // abgekupfert aus der JCL und vereinfacht
var
  One: Double;
  T: Double;
begin
  One := 1.0;
  Epsilon := One; // vielleicht sollte man mit einem deutlich kleineren Wert beginnen
  repeat
    Epsilon := 0.5 * Epsilon;
    T := One + Epsilon;
  until One = T;
end;
Andreas
  Mit Zitat antworten Zitat