Number of significand bits in long double?

Peter Jeremy PeterJeremy at
Thu Aug 4 19:15:50 GMT 2005

On Thu, 2005-Aug-04 09:26:18 -0700, Steve Kargl wrote:
>Can someone confirm or refute that the long double type
>has 53 bits in its significand on i386?  Which header 
>file in /usr/include provides this info?

A long double on an i386 is 64 bits by default.  The FP initialisation
code in FreeBSD sets rounding precision to double so that only 53 bits
are available.  You can override this in userland with fpsetprec() (but
note this may adversely impact on the accuracy of some libm functions).

See the LDBL_* macros in <float.h> for native precision.

Peter Jeremy

More information about the freebsd-current mailing list