Is the convention of dropping the leading 1 when storing the significand a given in all binary floating point representations or not necessarily?
-
$\begingroup$ It is so in all IEEE formats but maybe not enforced as a convention for all representations $\endgroup$ – Bug Killer Oct 30 '13 at 2:22
-
$\begingroup$ Yea, I'm preparing for an exam, and the sample questions on floating point do not specify whether the leading 1 is implied or explicit. $\endgroup$ – Isaac Kleinman Oct 30 '13 at 3:51
-
$\begingroup$ If you have a representation using an array of bits, for example, then the leading 1 is implicit. On the other hand if the representation is like the scientific notation, the 1 should be explicit as the numbers are represented in the form $1,bbb.. \cdot 2^{-p}$ where the $b$'s are the mantissa bits and $-p$ is the exponent. $\endgroup$ – Alejandro Sazo Oct 30 '13 at 4:16
As @BugKiller says, if it is IEEE format, it doesn't matter how many bits (32, 64, 43, etc) uses your representation, you drop the leading 1. And I think is the same thing with subnormal numbers taking a leading 0. Other floating point representations not specified within IEEE takes the same idea, because this dropped 1 comes from binary representation as any non-zero number will have a leading one, you drop it and you gain 1 bit to expand your representation.
-
1$\begingroup$ Totally wrong. See IEEE 754 extended precision format. The leading 1 of the mantissa must be explicitly stored, otherwise the result is either an unnormalised number (if the biased exponent is not all bits zero) or a denormalised number (if the biased exponent is all bits zero). I'm typing this on a computer which supports this format in hardware :-) $\endgroup$ – gnasher729 Apr 16 '17 at 19:08
The convention of dropping the leading 1 is not universal among practical floating point implementations. Namely, the very common x87 extended precision format does not follow this convention.