From: K. F. <kfr...@gm...> - 2011-05-01 15:29:54
|
Hello Greg! Thanks for clearing this up. On Sun, May 1, 2011 at 11:11 AM, Greg Chicares <gch...@sb...> wrote: > On 2011-05-01 13:38Z, K. Frank wrote: > [...] >> I'm speaking from memory, but -- assuming that gcc long doubles are >> x87 80-bit floating-point numbers -- yes, they do not use an implicit bit. > > Yes, MinGW gcc's 'long double' is intel's 'extended precision' 80-bit > floating point. BTW, IIRC, sizeof(long double) is 12--for reasons of > alignment, I guess--but only ten bytes are used. > > Indeed 80-bit extended precision has no implicit (hidden) bit. Here's > an authoritative explanation: > > http://www.eecs.berkeley.edu/~wkahan/ieee754status/IEEE754.PDF > | 680x0 / ix87 Extendeds have an explicit Nth bit for historical reasons; > | it allowed the Intel 8087 to suppress the normalization of subnormals > | advantageously for certain scalar products in matrix computations, but > | this and other features of the 8087 were later deemed too arcane to > | include in IEEE 754, and have atrophied. Thanks for this reference. Glad to have the definitive answer. Best. K. Frank |