# Can we improve the precision of IEEE floats by dropping leading zeros in the mantissa?

It seems like it would be possible to add more precision to the IEEE 32-bit mantissa system if the leading zeroes were also dropped, just like the leading 1 is dropped due to it being implicitly known.

For example, the number 17 would be represented as 0|10000100|00010000000000000000000. The leading 1 of the mantissa is always dropped, since every number in scientific notation starts with a 1. My question is why can't the leading zeroes also be dropped? If we know based on the exponent that the decimal place gets moved 4 spots, shouldn't we also be able to deduce, just like the implied 1, that all other missing bits afterwards would be 0? Granted, in this example it wouldn't make a difference, but for larger numbers, or numbers with a lot of digits past the decimal point, it seems like you would be able to get more precision the more implied bits you drop.

(As I'm typing this, I'm also realizing that you might even be able to drop the next 1 in the mantissa. If the computer knows the number of places to move the exponent, you could have as many zeroes as you want sandwiched between two implied 1's)

Does anyone know if this was ever addressed (or if I completely messed up in my calculations, and it isn't really possible to drop that many bits)?

## 1 Answer

If you drop the leading zeroes then $3,5,9,17$ and so on will all have the same representation. Don't forget that the number being represented need not be an integer.

• While the mantissa would have the same representation, the exponent would still be different. Using your examples, 9 is represented as (I'll write the exponent as a number to keep it short, including the 127 bias) 129, 001... and 17 is represented as 130, 0001... I'm asking why they can't both be represented in the mantissa as 1, with the exponent filling in the dropped 1 and 0's. – Salmononius2 Apr 2 '14 at 22:59
• If the mantissa is 1, how would you know how many zeroes to add to the left before you add the 1? I think you're implicitly assuming that the numbers are integers, but they need not be. – Yuval Filmus Apr 2 '14 at 23:15