Data Representation & Number Systems

the mantissa (significand)

In a floating-point number the significand (older name: mantissa) holds the actual significant digits — the meaningful part of the value — while the separate exponent only says where to put the point. In the scientific-notation number 6.022 times 10^23, the 6.022 is the significand and the 23 is the exponent. The significand answers 'what are the digits?' and the exponent answers 'at what scale?'. The more bits the significand has, the more precision the number carries.

Floating-point numbers are kept normalized: the point is slid so there is exactly one nonzero digit before it, the way scientific notation always writes 6.022, not 0.6022 or 60.22. In binary that leading digit must be a 1, and here is a lovely trick the standard exploits — since a normalized binary significand always starts with 1, that 1 does not need to be stored at all. It is the implicit, or hidden, leading bit. So single precision physically stores 23 significand bits but effectively gets 24 bits of precision; double precision stores 52 and gets 53. That free bit is pure cleverness, not magic.

There is one exception worth knowing, because it explains how floating point handles the very smallest numbers. When the exponent is already at its minimum, the number can no longer be normalized; instead it becomes a subnormal (or denormal) value, where the hidden leading bit is taken as 0 and precision is gradually given up to let the value shrink smoothly toward zero rather than jumping to zero in one step (called gradual underflow). The honest catch: subnormals keep tiny values usable but with fewer significant bits, so accuracy quietly degrades there — and on some processors they also run much more slowly.

To store 5.0 in binary, write it as 1.01 times 2^2: the significand is 1.01 (binary) and the exponent is 2. The leading 1 is not stored (it is implicit), so only the .01 fraction bits and the exponent are kept.

A normalized binary significand starts with an implicit 1, giving one free bit of precision.

The hidden leading 1 gives normalized numbers one extra bit of precision for free, but subnormal values forgo it: near zero, precision quietly drops, and some chips run subnormals much slower.

Also called
significandfractioncoefficient尾數有效位數