This is the mail archive of the cygwin mailing list for the Cygwin 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: Precision of doubles and stdio

> Roberto Bagnara wrote: 
> ...
> > $ a.out
> > 70.9
> > 70.900000000000005684341886080801486968994140625
> ...
> > $ ./a.exe
> > 70.9
> > 70.90000000000000568434188608080148696899414
Jim Easton wrote:
> With all due respect, why would you want to?  With double you are
> guaranteed only 16 or so digits - the rest is noise.
> 	Jim

Roberto Bagnara wrote:

> Dear Jim,
> what is and what is not noise depends on the application.
> In our applications we systematically use controlled rounding
> on IEEE 754 floating point numbers.  In the end, what we obtain
> (in memory) are definite (i.e., provably correct) lower or upper
> bounds of some quantities.
> Notice also that any IEEE 754 number can be (exactly!) printed
> with a finite number of decimal digits.  Finally, notice that
> writing an algorithm to print them correctly is not rocket science.
> Hence my astonishment when Tim showed me that the C standard
> decided, instead, to allow blatant violations of the principle
> of least astonishment :-)
> All the best,
> Roberto

Dear Mr. Bagnara,

I see, or at least I think I understand.

Most physicists, engineers, chemists etc. are interested in the most
significant digits not the least.  I don't think I need to try to
explain why.

Thanks for the explanation.

To put this back in the realm of might I suggest that
since having the exact value is important that you should write
your own conversion routine thus not be subject to the vagaries
of various systems.  :-)

No offense intended.


Unsubscribe info:
Problem reports:

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