2 - 2.01?

Hey,
How come 2 - 2.01 = -0.00999999999999979 and not -0.01
???
Can someone explain this to me please?

On 10/18/07, Michal S. [email protected] wrote:

Hey,
How come 2 - 2.01 = -0.00999999999999979 and not -0.01
???
Can someone explain this to me please?

http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/273263

Michal S. wrote:

Hey,
How come 2 - 2.01 = -0.00999999999999979 and not -0.01
???
Can someone explain this to me please?

Because 0.01 cannot be represented accurately in binary. See
Floating-point arithmetic - Wikipedia.

On Thu, Oct 18, 2007 at 09:49:37PM +0900, Michal S. wrote:

Hey,
How come 2 - 2.01 = -0.00999999999999979 and not -0.01
???
Can someone explain this to me please?

–Greg

On Thu, 18 Oct 2007 21:49:37 +0900, Michal S. [email protected]
wrote:

Hey,
How come 2 - 2.01 = -0.00999999999999979 and not -0.01
???
Can someone explain this to me please?

Because you are using floating point.

Reas this article for an explanation:

“What Every Computer Scientist Should Know About Floating-Point
Arithmetic”

http://docs.sun.com/source/806-3568/ncg_goldberg.html

Kristian

On Oct 18, 8:49 am, Michal S. [email protected] wrote:

Hey,
How come 2 - 2.01 = -0.00999999999999979 and not -0.01
???
Can someone explain this to me please?

Posted viahttp://www.ruby-forum.com/.

This question comes up a lot. Google “floating point errors” for some
good links.