- Trending Categories
- Data Structure
- Operating System
- MS Excel
- C Programming
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
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
|+19.5||0||001 1100 0000 0000 0000 0000||1000 0011|
|0||0||000 0000 0000 0000 0000 0000||0000 0000|
|±∞||0 or 1||000 0000 0000 0000 0000 0000||1111 1111|
|Nan||0 or 1||Any non-zero value||1111 1111|
|Denormalized||0 or 1||Any non-zero value||0000 0000|
|+19.5||0||0011 1000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000||100 0000 0011|
|0||0||0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000||000 0000 0000|
|±∞||0 or 1||0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000||111 1111 1111|
|Nan||0 or 1||Any non-zero value||111 1111 1111|
|Denormalized||0 or 1||Any non-zero value||000 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.
- Related Articles
- What is Floating-Point Representation in Computer Architecture?
- Explain the Token Ring Network (IEEE Standard 802.5) in Computer Network.
- The IEEE 802.1Q Standard
- Signed floating point numbers
- Explain what floating point numbers are and what types of floating points are available in Swift
- Explain the performance of cache in computer architecture?
- What is Fixed Point Representation in Computer Architecture?
- Differentiate between IEEE 802.3 and IEEE 802.5 in Computer Network.
- Explain the various DMA transfer modes in computer architecture?
- What is the division of binary numbers in Computer Architecture?
- How to Multiply Two Floating-Point Numbers in Golang?
- Java program to multiply given floating point numbers
- C Program to Multiply two Floating Point Numbers?
- Java Program to Multiply Two Floating-Point Numbers
- Swift Program to Multiply Two Floating-Point Numbers