| delorie.com/archives/browse.cgi | search |
| Mailing-List: | contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm |
| List-Subscribe: | <mailto:cygwin-subscribe AT sources DOT redhat DOT com> |
| List-Archive: | <http://sources.redhat.com/ml/cygwin/> |
| List-Post: | <mailto:cygwin AT sources DOT redhat DOT com> |
| List-Help: | <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs> |
| Sender: | cygwin-owner AT sources DOT redhat DOT com |
| Delivered-To: | mailing list cygwin AT sources DOT redhat DOT com |
| Message-ID: | <3B0E7337.70B4FA80@ece.gatech.edu> |
| Date: | Fri, 25 May 2001 10:59:03 -0400 |
| From: | "Charles S. Wilson" <cwilson AT ece DOT gatech DOT edu> |
| X-Mailer: | Mozilla 4.77 [en] (WinNT; U) |
| X-Accept-Language: | en |
| MIME-Version: | 1.0 |
| To: | Stan Malyshev <stas AT xpconsulting DOT com> |
| CC: | cygwin AT cygwin DOT com |
| Subject: | Re: Fw: BUG REPORT: unexpected floating point behavior |
| References: | <000d01c0e507$64435540$0401a8c0 AT ntserv> |
That's not a bug. It's just the way floating point works (or doesn't
work). It boils down to a problem representing base10 floats with a
32bit base2 packed structure. You need to read up on floating point and
precision. Try google...
--Chuck
Stan Malyshev wrote:
>
> ----- Original Message -----
> From: Stan Malyshev
> To: cygwin AT cygwin DOT com
> Cc: Tennyson Lee
> Sent: Friday, May 25, 2001 3:40 AM
> Subject: BUG REPORT: unexpected floating point behavior
>
> Consider the following unexpected output of a simple loop that increments a
> floating value by 0.1 at every iteration:
>
> #include <stdio.h>
>
> int main() {
>
> float x;
>
> for (x = 0; x < 4; x += 0.1f) {
> printf("x=%f\n", x);
> }
>
> return 0;
> }
>
> ------------------
>
> x=0.000000
> x=0.100000
> x=0.200000
> x=0.300000
> x=0.400000
> x=0.500000
> x=0.600000
> x=0.700000
> x=0.800000
> x=0.900000
> x=1.000000
> x=1.100000
> x=1.200000
> x=1.300000
> x=1.400000
> x=1.500000
> x=1.600000
> x=1.700000
> x=1.800000
> x=1.900000
> x=2.000000
> x=2.100000
> x=2.200000
> x=2.300000
> x=2.400000
> x=2.500000
> x=2.600000
> x=2.700000
> x=2.799999
> x=2.899999
> x=2.999999
> x=3.099999
> x=3.199999
> x=3.299999
> x=3.399999
> x=3.499999
> x=3.599999
> x=3.699999
> x=3.799999
> x=3.899998
> x=3.999998
>
> --
> Want to unsubscribe from this list?
> Check out: http://cygwin.com/ml/#unsubscribe-simple
--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |