Double Precision IEEE 754 (, Intel ) 0.1 + 0.2 == 0.30000000000000004:-) 0.30000000000000004 != 0.3 ( , double s, 0.1, 0.2 0.3 "" . , , , 0,1, 0,2 0,3)
, : http://pages.cs.wisc.edu/~rkennedy/exact-float
, , . Delphi, double Single Delphi , , C Intel ( double float C)
, http://ideone.com/WEL7h
#include <stdio.h>
int main()
{
double d1 = (0.1 + 0.2);
double d2 = 0.3;
printf("%.20e\n%.20e", d1, d2);
return 0;
}
:
3.00000000000000044409e-01
2.99999999999999988898e-01
(, . 0.1 + 0.2 0,3)