Re: [Dev-C++] Why don't you ever compare floats for equality?
Open Source C & C++ IDE for Windows
Brought to you by:
claplace
|
From: Daniel G. <sp...@ho...> - 2003-01-10 09:17:49
|
Many thanks, that is a great explanation! >From: Per Westermark <pw...@ia...> >To: Daniel Glenfield <sp...@ho...> >CC: dev...@li... >Subject: Re: [Dev-C++] Why don't you ever compare floats for equality? >Date: Thu, 9 Jan 2003 15:08:33 +0100 (CET) > >Because ((1.0 / 3.0) * 3.0) == 1.0 isn't guaranteed to be true because of >round-off errors in evaluation. > >Floating point nubmers are able to store a number of significant digits - >about 7-8 for float and 15 for double. However, only some numbers are >possible to store exactly in a floating point variable. Most values are >only possible to store as approximations, i.e. rounded or truncated to the >number of available significant digits. > >You need an infinite number of digits to store the value 1/3 for example. >Also, note that while we normally think of our floats and doubles as >decimal values, they are stored in binary format in the computer, >resulting in conversion errors when switching number base, i.e. when >reading in or printing a number. > >/Per W > >On Thu, 9 Jan 2003, Daniel Glenfield wrote: > > > I read that you should never compare floating point numbers for >equality. I > > was wondering why? > > > > > > > > > > > > _________________________________________________________________ > > Help STOP SPAM: Try the new MSN 8 and get 2 months FREE* > > http://join.msn.com/?page=features/junkmail > > > > > > > > ------------------------------------------------------- > > This SF.NET email is sponsored by: > > SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See! > > http://www.vasoftware.com > > _______________________________________________ > > Dev-cpp-users mailing list > > Dev...@li... > > TO UNSUBSCRIBE: http://www.noicys.cjb.net/devcpp/ub.htm > > https://lists.sourceforge.net/lists/listinfo/dev-cpp-users > > _________________________________________________________________ MSN 8: advanced junk mail protection and 2 months FREE*. http://join.msn.com/?page=features/junkmail |