A double precision number is occupies two storage locations within a computer store. Compare to other computer numbering formats, such as single precision. The locations are at address and address+1. Current computer with 32 bit stores, provide 64 bit double precision. The numbers may be defined to be integer, fixed point or floating point. Double precision floating point is an IEEE 754 standard for encoding floating point numbers that uses 8 bytes.
Table of contents |
2 Double precision examples |
c000 0000 0000 0000 = -2
7fef ffff ffff ffff ~ 1.7976931348623 x 10308 (Max Double)
7ff0 0000 0000 0000 = Infinity
fff0 0000 0000 0000 = -InfinityDouble precision memory format
Sign bit: 1
Exponent width: 11
Significand precision: 53
The format is written with an implicit integer bit with value 1 unless the written exponent is all zeros. Thus only 52 bits of the fraction appear in the memory format. syyy yyyy yyyy xxxx xxxx … xxxx (52 xs)
Exponent Encodings
Emin (0x001) = -1022
Emax (0x7fe) = 1023
Exponent bias (0x7fe) = 1023
The true exponent = written exponent - exponent bias 0x000 and 0x7ff are reserved exponents
0x000 is used to represent zero and denormals
0x7ff is used to represent infinity and NaNs
All bit patterns are valid encodings.Double precision examples
3ff0 0000 0000 0000 = 1
3fd5 5555 5555 5555 ~ 1/3
(1/3 rounds down instead of up like single precision, because of the odd number of bits in the significand.) 0000 0000 0000 0000 = 0
8000 0000 0000 0000 = -0