# 7.9.2 Floating-point comparison operators

**Visual Studio .NET 2003**

The predefined floating-point comparison operators are:

The operators compare the operands according to the rules of the IEEE 754 standard:

- If either operand is NaN, the result is
`false`

for all operators except`!=`

, for which the result is`true`

. For any two operands,`x`

`!=`

`y`

always produces the same result as`!(x`

`==`

`y)`

. However, when one or both operands are NaN, the`<`

,`>`

,`<=`

, and`>=`

operators do not produce the same results as the logical negation of the opposite operator. For example, if either of`x`

and`y`

is NaN, then`x`

`<`

`y`

is`false`

, but`!(x`

`>=`

`y)`

is`true`

. - When neither operand is NaN, the operators compare the values of the two floating-point operands with respect to the ordering
–8 < –max < ... < –min < –0.0 == +0.0 < +min < ... < +max < +8

where `min`

and `max`

are the smallest and largest positive finite values that can be represented in the given floating-point format. Notable effects of this ordering are:

- Negative and positive zeros are considered equal.
- A negative infinity is considered less than all other values, but equal to another negative infinity.
- A positive infinity is considered greater than all other values, but equal to another positive infinity.

Show: