OM Floats : conversion

Richard J. Fateman fateman at
Fri Jul 9 20:41:21 CEST 1999


In fact, if we agree on the ordering of bytes in words (which computers
don't, of course), then the ordering of bits in IEEE format numbers
is specified. So other than big/little endian, maybe we can encode
floats as one or more 32-bit quantities.  How do you want to send
32-bit quantities?  Signed integers? hex strings?  If we agree on
hex character strings, then a double takes exactly 16 characters.
Hex is fairly pointless for this purpose.
If we use all the 127 ASCII printing characters, we get 8 chars
(actually we need only 7 chars+ 1 bit.).

If you want to send doubles as decimal floats, here's a useful fact.
If you start with a decimal number input of 15 digits, then
correct IEEE decimal/binary/decimal conversion must give you
the same 15 digits output.

If you start with a binary number (double) and do binary/decimal/binary
conversion, to guarantee the same binary number, you may need 17 decimal
digits. That's just for the fraction. Not counting exponent, decimal
point, sign etc.  Random floating-point numbers are probably going
to need 21 characters or more.


More information about the Om mailing list