Strange float behaviour on Arduino Mega

If size is an factor, instead of in decimal (up to 10 characters) or hex (8 characters), encoding in Base64 would yield 6 characters (ignoring padding). For example, the number in question

$ printf '\x3D\xB9\xA6\xDE' | base64
Pbmm3g==

would be "Pbmm3g". Zero is "AAAAAA"; 0.5 is "PwAAAA". And the fact that it (often) doesn't look like an integer may reduce confusion.