The IS relational operator performs a bit-for-bit comparison on its two operands. The operator returns the value TRUE if the corresponding bits of each operand are the same. The ISNT operator is the negation of the IS operator.
If the IS operator is used to compare a double-precision arithmetic quantity to a single-precision (integer or real) arithmetic quantity, the result is always FALSE.
The IS operator differs from the EQL or = operator, which does an arithmetic comparison of its operands. Two operands can have the same arithmetic value with different bit patterns. Thus, the following pairs yield the value TRUE when compared with the EQL or = operator, but yield the value FALSE when compared with the IS operator:
-
+0 and –0
-
A normalized number and the same number not in normalized format
-
A number with an exponent of +0 and the same number with an exponent of –0
-
A number with bit 47 = 0 and the same number with bit 47 = 1

