Re: IEEE-754



Boudewijn Dijkstra wrote:
Op Thu, 23 Aug 2007 12:45:52 +0200 schreef Roman Töngi <roman.toengi@xxxxxxxxxx>:
IEEE-754 Arithmetic:
Most real numbers can't be stored exactly on the computer, but there can
be stated the range within which a machine number lies.

For the following example, I assume double precision and the round mode in effect to be 'round to nearest' and that the number lies within the
normalized range:

Definitions:
x := real number
round(x) := correctly rounded normalized number
eps := machine epsilon (2^(-52) for double precision)
abs(x) := absolute value of x

That is:
round(x) = x*(1 + delta)

with delta:
abs(delta) <= 1/2*eps (round to nearest)
i.d. abs(delta) <= 2^(-53) (double precision)

abs(delta) corresponds to the relative rounding error.

Now I can state the range including round(x):

-----------------------------------------
x*(1-2(-53)) <= round(x) <= x*(1+2^(-53))
-----------------------------------------

Is this the correct range according to my assumptions?

Yes, but your assumptions are invalid. How did you arrive at a machine epsilon of 2^(-52)?


From the IEEE-specification for double format.
.