
My calculator WristApps currently use "S16E7" floating point numbers which
are accurate to 4 decimal places and have a range of ~3*10^±7.

S16E7 appears to be used mainly in video cards. It means 1 bit for
sign (S), 16 bits for the mantissa, and 7 bits for the exponent (E).


Since S16E7 is not an IEEE standard, there are probably some variations in
format. I'm using a biased exponent (the real exponent is 63 decimal
less than as stored) and an unpacked mantissa (the leading 1 in the mantissa
is often used for something else since it is assumed to always be a 1, but I'm
not doing that to make my programs smaller).


Convert an IEEE754 32bit float in hex to an S16E7 float in hex (and back
again):



Use this page to convert between decimal numbers and IEEE754 hex:


