Bug in floating-point addition: is anyone else seeing this?

Mark Dickinson dickinsm at gmail.com
Wed May 21 14:38:35 EDT 2008


On SuSE 10.2/Xeon there seems to be a rounding bug for
floating-point addition:

dickinsm at weyl:~> python
Python 2.5 (r25:51908, May 25 2007, 16:14:04)
[GCC 4.1.2 20061115 (prerelease) (SUSE Linux)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> a = 1e16-2.
>>> a
9999999999999998.0
>>> a+0.999     # gives expected result
9999999999999998.0
>>> a+0.9999   # doesn't round correctly.
10000000000000000.0

The last result here should be 9999999999999998.0,
not 10000000000000000.0.  Is anyone else seeing this
bug, or is it just a quirk of my system?

Mark



More information about the Python-list mailing list