
Upscaling an IEEE754 subnormal number to be normal
Posted:
Oct 17, 2017 7:54 PM


Given an IEEE 754 number with a significand of size 'p', what is the smallest scaling factor that is guaranteed to bvring it into the normal range.
I would have thought that this was simply 2^p. When I take the smallest subnormal double and float, i.e. a '1' in the least significant bit of the mantissa, all zeros in the exponent and sign field, and multiply by 2^p (as a double or float), I get a number which has a nonzero exponent, i.e. normal.
However, reviewing some versions of the source code of 'frexp' seem to suggest that it is has to be instead 2^(p+2).
Why is this and what am I missing here?
Thanks  Damian

