
Re: How to avoid wrong answers in simple arithmetic expressions.
Posted:
Jan 20, 2013 6:58 AM


"SK " <modysk@hotmail.com> wrote in message <kdgkg1$a14$1@newscl01ah.mathworks.com>... > > All right, suppose I say all integers between 2^52 and 2^52 can be represented exactly  I did say "within some range" without specifying what that range was.
That's better.
All integers are sum of powers of 2 (or powers of x, x is whatever you like), so there is no point in involving the basis when discussing integer in floatingpoimt coding. The range 2^52 come from the fact that 52 bit is used by the mantissa of double precision IEEE.
Very often missbelieving occur when user manipulate fractional number such as 0.1. The number 0.1 = 1/10 = 1/(2*5) cannot be represented exactly in binary basis, and human notation for 0.1 happens to be finite because we count in 10 basis. On the other hand 0.1 cannot be codded finitely in binary basis (computer), just like 1/3 cannot be written with finite decimal digit numbers. Therefore nonaccuracy occurs in arithmetic operations for decimal fractional numbers.
Bruno

