ia-32_volume1_basic-arch

# Imul mul idiv div fiadd and fisub operate on only one

This preview shows page 1. Sign up to view the full content.

This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: n each of these types. Vol. 1 4-5 DATA TYPES Table 4-2. Length, Precision, and Range of Floating-Point Data Types Data Type Single Precision Double Precision Double Extended Precision Length 32 64 80 Precision (Bits) 24 53 64 2 Approximate Normalized Range Binary 126 Decimal 1.18 10 38 to 2 127 to 3.40 1038 21022 to 21023 216382 to 216383 2.23 10308 to 1.79 10308 3.37 104932 to 1.18 104932 NOTE Section 4.8, "Real Numbers and Floating-Point Formats," gives an overview of the IEEE Standard 754 floating-point formats and defines the terms integer bit, QNaN, SNaN, and denormal value. Table 4-3 shows the floating-point encodings for zeros, denormalized finite numbers, normalized finite numbers, infinites, and NaNs for each of the three floating-point data types. It also gives the format for the QNaN floating-point indefinite value. (See Section 4.8.3.7, "QNaN Floating-Point Indefinite," for a discussion of the use of the QNaN floating-point indefinite value.) For the single-precision and double-precision formats, only the fraction part of the significand is encoded. The integer is assumed to be 1 for all numbers except 0 and denormalized finite numbers. For the double extended-precision format, the integer is contained in bit 63, and the most-significant fraction bit is bit 62. Here, the integer is explicitly set to 1 for normalized numbers, infinities, and NaNs, and to 0 for zero and denormalized numbers. 4-6 Vol. 1 DATA TYPES Table 4-3. Floating-Point Number and NaN Encodings Class Positive + +Normals Sign 0 0 . . 0 0 . . 0 0 1 1 . . 1 1 . . 1 1 X X 1 Biased Exponent Integer 11..11 11..10 . . 00..01 00..00 . . 00..00 00..00 00..00 00..00 . . 00..00 00..01 . . 11..10 11..11 11..11 11..11 11..11 1 1 . . 1 0 . . 0 0 0 0 . . 0 1 . . 1 1 1 1 1 Significand 1 Fraction 00..00 11..11 . . 00..00 11.11 . . 00..01 00..00 00..00 00..01 . . 11..11 00..00 . . 11..11 00..00 0X..XX2 1X..XX 10..00 +Denormals +Zero Negative -Zero -Denormals -Normals - NaNs SNaN QNaN QNaN Floating-Point Indefinite Single-Precision: Double-Precision: Double Extended-Precision: 8 Bits 11 Bits 15 Bits 23 Bits 52 Bits 63 Bits NOTES: 1. Integer bit is implied and not stored for single-precision and double-precision formats. 2. The fraction for SNaN encodings must be non-zero with the most-significant bit 0. The exponent of each floating-point data type is encoded in biased format; see Section 4.8.2.2, "Biased Exponent." The biasing constant is 127 for the singleprecision format, 1023 for the double-precision format, and 16,383 for the double extended-precision format. Vol. 1 4-7 DATA TYPES When storing floating-point values in memory, single-precision values are stored in 4 consecutive bytes in memory; double-precision values are stored in 8 consecutive bytes; and double extended-precision values are stored in 10 consecutive bytes. The single-precision and double-precision floating-point data types are operated on by x87 FPU, and SSE/SSE2/SSE3 instructions. The dou...
View Full Document

## This note was uploaded on 10/01/2013 for the course CPE 103 taught by Professor Watlins during the Winter '11 term at Mississippi State.

Ask a homework question - tutors are online