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 non-zero 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).