Velocity Reviews > C++ > Significant digit measuring

# Significant digit measuring

mrstephengross
Guest
Posts: n/a

 05-05-2005
Hi all... How can I find out the number of significant digits (to the
right of the decimal place, that is) in a double? At least, I *think*
that's what I'm asking for. For instance:

0.103 --> 3
0.0103 --> 4
0.00103 --> 5
0.000103 --> 6
0.0000103 --> 7

--Steve ((E-Mail Removed))

Victor Bazarov
Guest
Posts: n/a

 05-05-2005
mrstephengross wrote:
> Hi all... How can I find out the number of significant digits (to the
> right of the decimal place, that is) in a double? At least, I *think*
> that's what I'm asking for. For instance:
>
>
> 0.103 --> 3
> 0.0103 --> 4
> 0.00103 --> 5
> 0.000103 --> 6
> 0.0000103 --> 7

Actually, from what I remember, all numbers you have here have the same
number of significant digits: 3, the leading (and trailing) zeros do not
count as significant.

And then there is no such thing as "significant digits" in a double. What
may appear as 0.0103 to you (in the output), in fact is probably something
like 0.010299999999999998 in the computer. IOW, all digits (16 or so) are
significant in a 'double'.

V

mrstephengross
Guest
Posts: n/a

 05-05-2005
>What may appear as 0.0103 to you (in the output), in fact is probably
something
like 0.010299999999999998 in the computer. IOW, all digits (16 or so)
are
significant in a 'double'.

Darn! I suspected this was the case...

--Steve

Mark P
Guest
Posts: n/a

 05-05-2005
Victor Bazarov wrote:
> mrstephengross wrote:
>
>> Hi all... How can I find out the number of significant digits (to the
>> right of the decimal place, that is) in a double? At least, I *think*
>> that's what I'm asking for. For instance:
>>
>>
>> 0.103 --> 3
>> 0.0103 --> 4
>> 0.00103 --> 5
>> 0.000103 --> 6
>> 0.0000103 --> 7

>
>
> Actually, from what I remember, all numbers you have here have the same
> number of significant digits: 3, the leading (and trailing) zeros do not
> count as significant.

Mostly true, except that trailing zeros may be significant. Universally
(I believe) 0.103000 is regarded as having 6 significant digits. For
trailing zeros to the left of the decimal point it's ambiguous. 103000
may have from 3 to 6 significant digits. According to one convention,
one uses an overbar in such cases to mark the least significant digit.