From: Vivian Richy on
Walter Roberson <roberson(a)hushmail.com> wrote in message <hjm4r2$o2a$1(a)canopus.cc.umanitoba.ca>...
> Vivian Richy wrote:
>
> > can anyone explain me the difference between 2^-1024 and 1/(2^1024) in
> > ieee double precision format.
>
>
> 2^1024 cannot be expressed in IEEE double precision: the maximum is
> (2^1024-1) . 1/(2^1024) is thus 1/infinity (large numbers "saturate" to
> infinity) and 1/infinity is 0 as far as matlab is concerned.
>
> 2^(-1024) would not normally be expressible in IEEE double precision,
> but there is special provision for a range of very small numbers.
> Normally IEEE double precision represents numbers conceptually as a
> binary 1 followed by a decimal point followed by the rest of the
> mantissa, all times the interpreted exponent; for such numbers, because
> they always begin with binary 1, the 1 is not actually stored, thus
> gaining you an extra bit of precision. But for numbers below 2^(-1022),
> instead of "normalizing" the numbers to have a leading 1 then decimal
> point, IEEE uses the exponent corresponding to 2^(-1023) and stores the
> numbers in "denomalized" form, where the leading 1 is explicit. This
> gets you about another 2^52 worth of range, but with less and less
> precision available as you go.

Walter,
Thanks alot for your help. The difference is now very clear to me.
Richy,