Path: csiph.com!x330-a1.tempe.blueboxinc.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!border3.nntp.dca.giganews.com!Xl.tags.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!local2.nntp.dca.giganews.com!news.giganews.com.POSTED!not-for-mail NNTP-Posting-Date: Mon, 30 May 2011 13:58:24 -0500 From: Pete Becker Organization: Roundhouse Consulting, Ltd. Newsgroups: comp.lang.c++ Date: Mon, 30 May 2011 08:58:24 -1000 Message-ID: <2011053008582491296-pete@versatilecodingcom> References: <94gjh4Fr2iU9@mid.individual.net> <4de3835d$0$2833$7b1e8fa0@news.nbl.fi> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1; format=flowed Content-Transfer-Encoding: 8bit Subject: Re: implicit promotion User-Agent: Unison/2.1.4 Lines: 31 X-Usenet-Provider: http://www.giganews.com X-Trace: sv3-A0l6mbQk+UM6wmHDuBk1RjgZEo39L9rWNHEoioJLxxwe2EdoQV9nUZaysNHLCImn7Eq2fE1pJRQ4Lkm!t9KUQIB0l6XYDVLuQpfR6oxSoMj+pC4+cunaFtKWdk594OKnqySFsd78ksvo2jJiOrSng7Q= X-Complaints-To: abuse@giganews.com X-DMCA-Notifications: http://www.giganews.com/info/dmca.html X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.3.40 X-Original-Bytes: 2550 Xref: x330-a1.tempe.blueboxinc.net comp.lang.c++:5836 On 2011-05-30 02:49:08 -1000, Öö Tiib said: > On May 30, 2:45 pm, Juha Nieminen wrote: >> Paavo Helde wrote: >>>> If you write >> >>>> float tot = (float)sum/tally->size(); >> >>>> you then have a float divided by an int, 1.5. >> >>> Yes, for getting floating-point division one needs to cast only one >>> operand to a floating-point type, the other would be cast to the type of >>> the first automatically. In the original line from OP both operands were >>> cast, possibly because the original author liked symmetry or clarity. >> >>   Actually, if a float is divided by an int, aren't both of them cast >> to double first? (Not that it probably makes any difference in practice, >> but just pointing out.) > > Most things about floating point arithmetics is implementation defined > so what really happens depends on platform and compiler. Not here. Read about "usual arithmetic conversions". If one argument is float and the other is int, the int is converted to float. -- Pete Roundhouse Consulting, Ltd. (www.versatilecoding.com) Author of "The Standard C++ Library Extensions: a Tutorial and Reference (www.petebecker.com/tr1book)