[fpc-devel] Different computation precision in 32-bit and 64-bit app

NetSpirit netspirit at meta.ua
Fri Jul 30 15:21:04 CEST 2021


This code gives distinct results when compiled for Win32 and Win64
- Win32: 49744125
- Win64: 49744124.9999999

procedure Test;
var
  D: Double;
begin
  D := 3 * (exp(3 * ln(255)));
  WriteLn('Result: ' + FloatToStr(D));
end;


Somewhere is precision loss (or extra rounding). Is this good?



More information about the fpc-devel mailing list