From owner-freebsd-hackers@FreeBSD.ORG Mon Jul 12 13:30:51 2004 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 22BC716A4CE for ; Mon, 12 Jul 2004 13:30:51 +0000 (GMT) Received: from huva.hittite.isp.9tel.net (huva.hittite.isp.9tel.net [62.62.156.6]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8FF9543D39 for ; Mon, 12 Jul 2004 13:30:50 +0000 (GMT) (envelope-from clefevre-lists@9online.fr) Received: from pc2k (unknown [80.119.170.204]) by huva.hittite.isp.9tel.net (Postfix) with SMTP id 01EF914B9C8; Mon, 12 Jul 2004 15:34:18 +0200 (CEST) Message-ID: <040101c46814$70849bf0$7890a8c0@dyndns.org> From: "Cyrille Lefevre" To: "Roman Kurakin" , "Dmitry Morozovsky" References: <20040711210219.J84500@woozle.rinet.ru> <40F242AC.5020109@cronyx.ru> Date: Mon, 12 Jul 2004 15:30:45 +0200 Organization: ACME MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1409 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1409 cc: freebsd-hackers@freebsd.org Subject: Re: gcc strangeness X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Jul 2004 13:30:51 -0000 "Roman Kurakin" wrote: > Dmitry Morozovsky wrote: [snip] > >marck@woozle:/tmp/tsostik> cat x.c > >#include > >int main () > >{ > > float a; > > for(a=0.01;a<=0.1; a+=0.01) > > printf("%f %.3f %d\n", a*100, a*100, (int)(a*100)); > > > > > I believe this should more correct: > printf ("%f %.3f %d\n", a*100, a*100, (int)(a*100+.5)); it is much better to use ceilf(3) (or ceil(3) for double) here : printf("%f %.3f %f %d\n", a*100, a*100, ceilf(a*100), (int)ceilf(a*100)); # ./a.out 1.000000 1.000 1.000000 1 2.000000 2.000 2.000000 2 3.000000 3.000 3.000000 3 4.000000 4.000 4.000000 4 5.000000 5.000 5.000000 5 6.000000 6.000 6.000000 6 7.000000 7.000 7.000000 7 8.000000 8.000 8.000000 8 9.000000 9.000 9.000000 9 9.999999 10.000 10.000000 10 Cyrille Lefevre. -- home: mailto:cyrille.lefevre@laposte.net