Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , 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" X-Mailer: Mozilla 4.77 [en] (WinNT; U) X-Accept-Language: en MIME-Version: 1.0 To: Stan Malyshev CC: cygwin AT cygwin DOT com Subject: Re: Fw: BUG REPORT: unexpected floating point behavior References: <000d01c0e507$64435540$0401a8c0 AT ntserv> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit 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 > > 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