Date: Jan 20, 2013 3:49 AM
Subject: Re: How to avoid wrong answers in simple arithmetic expressions.
"James Tursa" wrote in message <firstname.lastname@example.org>...
> False. 9 has an exact IEEE double representation. 0.09 does not ... the closest is:
> > More generally, most integers do not have an exact representation in this format.
> False. All of the integers in the range of your particular problem can be represented exactly in IEEE double. All integers from 0 up to 2^53 have exact IEEE double representations.
OK. I got it (after some embarrassment). The IEEE 754 format description on Wikipedia was a bit confusing - all those negative powers of 2! It really boils down to - if a number can be represented as a sum of powers of 2, then it has an exact representation - so all integers (within some range) will have an exact representation.
Nevertheless, it does appear that exact calculations even with integers has to be thought through on a case by case basis.
> > So, does Matlab treat small integers in a special way?
> No. They are treated just like all other IEEE double numbers.
> James Tursa