This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: the "general" floating point format


On Mon, 2 Jan 2006 02:48 pm, Ian Lance Taylor wrote:
> Anthony Shipman <als@iinet.net.au> 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 
als@iinet.net.au                   grow up to be outsourced.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]