Strange rounding problem
Grant Edwards
grante at visi.com
Sat Mar 15 12:55:33 EST 2003
In article <TrCcnZMtctRJ_u6jXTWc3Q at comcast.com>, Marc wrote:
> But I didn't make a calculation to achieve this number. I entered it to be
> an exact value. [...]
> By I know that binary digits aren't incapable of holding exact numbers.
Wrong. Partly. Some numbers that are exactly representable in base 10 are
not exactly representble in base 2. For example, the number 0.1 (base 10)
can't be exactly represented in base 2. Just like 0.1 (base 3) can't be
exactly represented as a decimal value in base 10: it's 0.33333 (repeats
forever).
> If that were true, there wouldn't be an accurate computer in the world.
There arent. When dealing with floating point, you must assume that
_no_value_is_exact_.
> So I still don't understand that if I enter a number to be an exact value of
> .00000096, why it can't be stored as 9.60000000e-007?
Becausing you entered it in base 10, and it's stored in base 2. Just
because it's an exact value in base 10 it doesn't mean it can be represented
exactly in base 2.
--
Grant Edwards grante Yow! There's enough money
at here to buy 5000 cans of
visi.com Noodle-Roni!
More information about the Python-list
mailing list