Velocity Reviews > Meaning of "most significant digits" in the printf documentation

# Meaning of "most significant digits" in the printf documentation

Mukesh_Singh_Nick@yahoo.com
Guest
Posts: n/a

 06-16-2007
What is meant by the "most significant digits" in the following
statement?

<BLOCKQUOTE>
With %g and %G, the precision modifier determines the maximum number
of significant digits displayed.</BLOCKQUOTE>

The statement appears here: http://www.cppreference.com/stdio/printf.html

Also, what do we mean by the magnitude of a floating point number?

I understand that the magnitude of an integral is equal to its
absolute value. However, I do not understand the meaning of the
magnitude of a floating point.

For a citation, please note the sentence below:

<BLOCKQUOTE>A float number is typically a 32-bit quantity, with at
least six significant digits and magnitude generally between about
10^(-3 and 10^(+3.</BLOCKQUOTE>

Source: K & R, Page 9, Second Edition

Ben Bacarisse
Guest
Posts: n/a

 06-16-2007
http://www.velocityreviews.com/forums/(E-Mail Removed) writes:

> What is meant by the "most significant digits" in the following
> statement?
>
> <BLOCKQUOTE>

Don't bother with markup like this. Usenet news is a plain text
medium. People sometimes use markers for humorous effect
(e.g. <sarcasm>really?</sarcasm>) but don't try to effect the llok of
your post with HTML or similar.

> With %g and %G, the precision modifier determines the maximum number
> of significant digits displayed.</BLOCKQUOTE>

You say "most" at the top but the quote has "maximum" so I am i bit
confused about what is bothering you. The precision determines how
much of number gets represented. Obviously only the most significant
digits are used but you can say "no more than X digits". There may
be other stuff printed, because %g might use scientific notation, but
the precision limits the number of significant digits printed. The
number you give is a maximum because fewer may be sufficient:

4.0e30 using %.3g prints "4e+30"
4.3e30 using %.1g prints "4e+30"
4.3e30 using %.2g prints "4.1e+30"

> The statement appears here:
> http://www.cppreference.com/stdio/printf.html

Look like a C++ reference. This may lead you astray if you are using

> Also, what do we mean by the magnitude of a floating point number?
>
> I understand that the magnitude of an integral is equal to its
> absolute value. However, I do not understand the meaning of the
> magnitude of a floating point.

It usually means exactly the same -- the absolute value. It certainly
does in the quote you cite from K&R:

> A float number is typically a 32-bit quantity, with at
> least six significant digits and magnitude generally between about
> 10^(-3 and 10^(+3.
>
> Source: K & R, Page 9, Second Edition

--
Ben.

Chris Torek
Guest
Posts: n/a

 06-17-2007
In article <(E-Mail Removed) .com>
<(E-Mail Removed)> wrote:
>What is meant by the "most significant digits" in [printf %g formats]

Actually, it is just "significant digits", with no "most"
qualifier.

point, see <http://web.torek.net/torek/c/numbers.html>.
--
In-Real-Life: Chris Torek, Wind River Systems
Salt Lake City, UT, USA (40°39.22'N, 111°50.29'W) +1 801 277 2603
Reading email is like searching for food in the garbage, thanks to spammers.