Floating-point Numbers Aren't Real
Floating-point numbers are not real numbers in the mathematical sense. Real numbers have infinite precision; floating-point numbers have fixed precision, and resemble "badly-behaved" integers. If you have access to a 32-bit platform with single-precision IEEE floating-point, like float in C++ on Windows, assign 2147483647 (the largest signed integer) to a float variable (x, say), and print it. You'll see 2147483648. Now print x - 64. Still 2147483648. Now print x-65 and you'll get 2147483520!