?
=?ISO-8859-1?Q?Roman_T=F6ngi?=
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?
Thanks a lot
Roman
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?
Thanks a lot
Roman