This preview shows page 1. Sign up to view the full content.
Unformatted text preview: ram performance. 3.14.2 Extended-Precision Arithmetic
A second unusual feature of IA32 ﬂoating point is that the ﬂoating-point registers are all 80 bits wide. They encode numbers in an extended-precision format as described in Problem 2.49. It is similar to an IEEE ﬂoating-point format with a 15-bit exponent (i.e., ½ ) and a 63-bit fraction (i.e., Ò ¿). All single and double-precision numbers are converted to this format as they are loaded from memory into ﬂoating-point registers. The arithmetic is always performed in extended precision. Numbers are converted from extended precision to single or double-precision format as they are stored in memory. This extension to 80 bits for all register data and then contraction to a smaller format for all memory data has some undesirable consequences for programmers. It means that storing a value in memory and then retrieving it can change its value, due to rounding, underﬂow, or overﬂow. This storing and retrieving is not always visible to the C programmer, lea...
View Full Document
- Spring '10
- The American