the "general" floating point format

Anthony Shipman
Mon Jan 2 06:39:00 GMT 2006

On Mon, 2 Jan 2006 02:48 pm, Ian Lance Taylor wrote:
> Anthony Shipman <> writes:
> > Is there a precise specification of how printf() decides whether to use
> > the fixed point or scientific format when the format is "general"?
> I assume you are referring to %g.  The answer is yes.  From the
> GNU/Linux man page, for example (man 3 printf):
>     The double argument is converted in style f or e (or F or E for G
>     conversions).  The precision specifies the number of significant
>     digits.  If the precision is missing, 6 digits are given; if the
>     precision is zero, it is treated as 1.  Style e is used if the
>     exponent from its conversion is less than -4 or greater than or
>     equal to the precision.  Trailing zeros are removed from the
>     fractional part of the result; a decimal point appears only if it
>     is followed by at least one digit.
> Ian

Oh, I missed that bit in the middle. Is that the C standard or just how Gnu C 
does it? 

Do you know if libstdc++ uses exactly the same specification or perhaps 
delegates to printf()? (I started off searching for how the C++ "general" 
format was defined).

Anthony Shipman                    Mamas don't let your babies                   grow up to be outsourced.

More information about the Gcc-help mailing list