What is the difference between a single precision floating point operation and double precision floating operation?
I'm especially interested in practical terms in relation to video game consoles. For example, does the Nintendo 64 have a 64 bit processor and if it does then would that mean it was capable of double precision floating point operations? Can the PS3 and Xbox 360 pull off double precision floating point operations or only single precision and in general use is the double precision capabilities made use of (if they exist?).
Best Answer
Note: the Nintendo 64 does have a 64-bit processor, however:
From Webopedia:
The IEEE double-precision format actually has more than twice as many bits of precision as the single-precision format, as well as a much greater range.
From the IEEE standard for floating point arithmetic
Single Precision
The IEEE single precision floating point standard representation requires a 32 bit word, which may be represented as numbered from 0 to 31, left to right.
the final 23 bits are the fraction 'F':
The value V represented by the word may be determined as follows:
0<E<255
thenV=(-1)**S * 2 ** (E-127) * (1.F)
where "1.F" is intended to represent the binary number created by prefixing F with an implicit leading 1 and a binary point.V=(-1)**S * 2 ** (-126) * (0.F)
. These are "unnormalized" values.In particular,
Double Precision
The IEEE double precision floating point standard representation requires a 64 bit word, which may be represented as numbered from 0 to 63, left to right.
the final 52 bits are the fraction 'F':
The value V represented by the word may be determined as follows:
0<E<2047
thenV=(-1)**S * 2 ** (E-1023) * (1.F)
where "1.F" is intended to represent the binary number created by prefixing F with an implicit leading 1 and a binary point.V=(-1)**S * 2 ** (-1022) * (0.F)
These are "unnormalized" values.Reference:
ANSI/IEEE Standard 754-1985,
Standard for Binary Floating Point Arithmetic.