Thanks for the link!
That's true, but it's also true with floating-point numbers in any programming language. Doing something like setting the default precision to the number of significant digits would eliminate this problem, I would think?
If you set x = 3.0 * 0.20 (= 0.60 @ 2 sig digits) and y = 0.599 * 1.0 (= 0.60 @ 2 sig digits) then y and x are equivalent when only significant figures are considered. Doing something like y - x would yield 0.599 * 1.0 - 3.0 * 0.20 = -0.001, which, to 2 significant figures, is zero. That's equality.
x = 3.0 * 0.20
y = 0.599 * 1.0
y - x
0.599 * 1.0 - 3.0 * 0.20 = -0.001
What do you think?
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.