This is the mail archive of the
mailing list for the Cygwin project.
Re: Precision of doubles and stdio
- From: Jim Easton <jim at cs dot ualberta dot ca>
- To: bagnara at cs dot unipr dot it
- Cc: cygwin at cygwin dot com, Jim Easton <jim at cs dot ualberta dot ca>
- Date: Tue, 7 Mar 2006 04:04:14 -0700 (MST)
- Subject: 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.
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,
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
Thanks for the explanation.
To put this back in the realm of cygwin.com 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: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html