Computer Arithmetic Algorithms, Second Edition

To obtain a dynamic range of representable real numbers without having to scale the operands, we use floating-point numbers instead of fixed-point ones. The representation of floating-point numbers is similar to the commonly used scientific notation and consists of two parts, the significand (or mantissa) M and the exponent (or characteristic) E. The floating-point number F represented by the pair (M, E) has the value
where ? is the base of the exponent. This base is common to all floating-point numbers in a given system. It is therefore not included in the representation of a floating-point number, but is rather implied.
Thus, the n bits that represent a floating-point number are partitioned into two parts, one holding the significand M and the other the exponent E. The range of representable floating-point numbers is larger than that of fixed-point representation, but the precision is smaller. The total number of different values (representable in n bits) is still 2 n, and since the range between the smallest and the largest representable values increases, the distance between any two consecutive values must increase as well. Floating-point numbers are thus sparser than fixed-point numbers, resulting in a lower precision. Any real number whose value lies between two consecutive floating-point numbers is mapped onto one of these two numbers. Therefore, a larger distance between the two consecutive numbers results in a lower precision of representation. A more detailed discussion...