Question about mpf_add
Torbjorn Granlund
tg at swox.com
Sat Oct 4 20:42:10 CEST 2008
"Bruce M. Axtens" <bruce.axtens at gmail.com> writes:
G'day everyone
Context:
gmp-static-vc-4.1.2
Microsoft Visual C++ 6.0
Windows XP Professional SP3
In the code below I use mpf_add in what I assume to be the canonical way.
What I don't understand at this point is why 2.2 + 3.2 =
5.39999999999999999999999999999999999999. I would have thought that
gmp was smart enough to give 5.4.
What else should I be seeing in the manual that I'm not?
I don't think this sort of issues is spelled out in the manual, it is
beyond its scope.
While 2.2 and 3.2 are representable exactly in base 10, they are not
in binary, and neither is their sum.. Therefore, any base-2 floating
point system will never get the sum 5.4 exactly, but 5.4+epsilon or
5.4-epsilon.
--
Torbjörn
More information about the gmp-discuss
mailing list