Intel 64 and IA-32 Architectures Software Developers Manual Volume 1, Basic Architecture

4-6 Vol. 1
DATA TYPES
The sign bit is set for negative integers and cleared for positive integers and zero.
Integer values range from –128 to +127 for a byte integer, from –32,768 to +32,767
for a word integer, from –2
31
to +2
31
– 1 for a doubleword integer, and from –2
63
to
+2
63
– 1 for a quadword integer.
When storing integer values in memory, word integers are stored in 2 consecutive
bytes; doubleword integers are stored in 4 consecutive bytes; and quadword inte-
gers are stored in 8 consecutive bytes.
The integer indefinite is a special value that is sometimes returned by the x87 FPU
when operating on integer values. For more information, see Section 8.2.1, “Indefi-
nites.
4.2.2 Floating-Point Data Types
The IA-32 architecture defines and operates on three floating-point data types:
single-precision floating-point, double-precision floating-point, and double-extended
precision floating-point (see Figure 4-3). The data formats for these data types
correspond directly to formats specified in the IEEE Standard 754 for Binary Floating-
Point Arithmetic.
Table 4-2 gives the length, precision, and approximate normalized range that can be
represented by each of these data types. Denormal values are also supported in each
of these types.
Table 4-1. Signed Integer Encodings
Class Two’s Complement Encoding
Sign
Positive Largest 0 11..11
..
..
Smallest 0 00..01
Zero 0 00..00
Negative Smallest 1 11..11
..
..
Largest 1 00..00
Integer indefinite 1 00..00
Signed Byte Integer:
Signed Word Integer:
Signed Doubleword Integer:
Signed Quadword Integer:
7 bits
15 bits
31 bits
63 bits