This preview shows page 1. Sign up to view the full content.
Unformatted text preview: haps other leading bits) of the significand zero. The numbers in this range are called denormalized (or tiny) numbers. The use of leading zeros with denormalized numbers allows smaller numbers to be represented. However, this denormalization causes a loss of precision (the number of significant bits in the fraction is reduced by the leading zeros). When performing normalized floatingpoint computations, an IA32 processor normally operates on normalized numbers and produces normalized numbers as results. Denormalized numbers represent an underflow condition. The exact conditions are specified in Section 4.9.1.5, "Numeric Underflow Exception (#U)." A denormalized number is computed through a technique called gradual underflow. Table 46 gives an example of gradual underflow in the denormalization process. Here the singleprecision format is being used, so the minimum exponent (unbiased) is 12610. The true result in this example requires an exponent of 12910 in order to have a normalized number. Since 12910 is beyond the allowable exponent range, the result is denormalized by inserting leading zeros until the minimum exponent of 12610 is reached. 418 Vol. 1 DATA TYPES Table 46. Denormalization Process
Operation True Result Denormalize Denormalize Denormalize Denormal Result Sign 0 0 0 0 0 Exponent* 129 128 127 126 126 Significand 1.01011100000...00 0.10101110000...00 0.01010111000...00 0.00101011100...00 0.00101011100...00 * Expressed as an unbiased, decimal number. In the extreme case, all the significant bits are shifted out to the right by leading zeros, creating a zero result. The Intel 64 and IA32 architectures deal with denormal values in the following ways: It avoids creating denormals by normalizing numbers whenever possible. It provides the floatingpoint underflow exception to permit programmers to detect cases when denormals are created. It provides the floatingpoint denormaloperand exception to permit procedures or programs to detect when denormals are being used as source operands for computations. 4.8.3.3 Signed Infinities The two infinities, + and  , represent the maximum positive and negative real numbers, respectively, that can be represented in the floatingpoint format. Infinity is always represented by a significand of 1.00...00 (the integer bit may be implied) and the maximum biased exponent allowed in the specified format (for example, 25510 for the singleprecision format). The signs of infinities are observed, and comparisons are possible. Infinities are always interpreted in the affine sense; that is, is less than any finite number and + is greater than any finite number. Arithmetic on infinities is always exact. Exceptions are generated only when the use of an infinity as a source operand constitutes an invalid operation. Whereas denormalized numbers may represent an underflow condition, the two numbers may represent the result of an overflow condition. Here, the normalized result of a computation ha...
View Full
Document
 Winter '11
 Watlins

Click to edit the document details