# Explain the IEEE Standard 754 Floating-Point Numbers in computer architecture?

IEEE developed the IEEE 754 floating-point standard. This standard defines set formats and operation modes. All computers conforming to this standard would always calculate the same result for the same computation. This standard does not specify arithmetic procedures and hardware to be used to perform computations. For example, a CPU can meet the standard whether it uses shift-add hardware or the Wallace tree to multiply two significant.

The IEEE 754 standard specifies two precisions for floating-point numbers. Single precision numbers have 32 bits − 1 for the sign, 8 for the exponent, and 23 for the significand. The significand also includes an implied 1 to the left of its radix point.

Table (a) shows the representation of +19.5 (=10011.1 or 1.00111 x 24 in binary) in single-precision format. The leading 1 is not included in the significand, its presence is implicit in this standard. Exponent 4 is represented as 1000 0011, or 131, due to the addition of the bias of 127.

Double precision numbers use 64 bits − 1 for the sign, 11 for the exponent, and 52 for the significand. As in single precision, the significand has an implied leading 1 for most values. The exponent has a bias of 1023 and a range value from -1022 to +1023. The smallest and largest exponent values, -1023 and +1024 are reserved for special numbers. Table (b) shows the representation of +19.5 in double precision format. The exponent is stored as 4 + bias, or 4 + 1023 = 1027, for this value.

Single (a) and double (b) precision representation in the IEEE 754 standard format

ValueSignSignificandExponent
+19.50001 1100 0000 0000 0000 00001000 0011
00000 0000 0000 0000 0000 00000000 0000
±∞0 or 1000 0000 0000 0000 0000 00001111 1111
Nan0 or 1Any non-zero value1111 1111
Denormalized0 or 1Any non-zero value0000 0000

(a)

ValueSignSignificandExponent
+19.500011 1000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
100 0000 0011
000000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
000 0000 0000
±∞0 or 10000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
111 1111 1111
Nan0 or 1Any non-zero value111 1111 1111
Denormalized0 or 1Any non-zero value000 0000 0000

Zero,±∞, and Nan have predefined representations in both single and double precision formats. The value 0 has a significand equal to 0 and an exponent with all bits set to 0. Infinity also has a significand equal to 0 but its exponent has every bit set to 1. The sign-bit denotes either the value is ±∞ or −∞. An exponent of all 1’s and any non-zero significand indicates a value of Nan.

The IEEE 754 standard requires that the round toward the nearest is the default rounding method, and that the others be available for the user to select. Thus, two processors that meet the IEEE 754 specification could produce slightly different results for the same computation if they were set to use different rounding methods.