Manipulating IEEE754 32bit floats (incl mapping 64bit double)

While there might be arguable different types of infinity, in IEEE 754 (now 754R), there are only 2 encodings of infinity (sign 0/1, exponent all 1's, fraction all 0's).

Nans offer many more possibilities (sign unspecified, exponent all 1's, non-zero fraction with the most significant fraction bit indicating whether the NaN is quiet if the most significant bit is set, or signalling if the most significant bit is not set).