Pat wrote:
Give two double-typed variable X and Y.
If (X==Y) is true,
then how about the following results:
(float(X) > float(Y))?
(float(X) < float(Y))?
(float(X) >= float(Y))?
( X > float(Y) )?
( X < float(Y) )?
( X == float(Y) )?
Will the results be independent of compliers and OS platforms?
Thanks. Pat
No, they will not be independent of compilers, nor of OS platforms.
Floating point numbers, the underlying machine instructions and
registers that manage them are different. You will get subtle
differences, especially as you increase in precision. We have trouble on
a regular basis with floating point numbers in our software, compounded
when we port to different platforms.
Floating point numbers are good to use in some situations, but you
REALLY want to avoid comparing them whenever possible.
David Logan