[ Arithmetic | Reference Manual | Alphabetic Index ]
xor(+Number1, +Number2, -Result)
-Result is xor(+Number1, +Number2)
Evaluates the bitwise exclusive disjunction Number1 xor Number2 and unifies
the resulting value with Result.
- Number1
- Integer.
- Number2
- Integer.
- Result
- Output: integer.
Description
Evaluates the bitwise exclusive disjunction Number1 xor Number2 and
unifies the resulting value with Result.
This predicate can be used as a function in arithmetic expressions.
In coroutining mode, if Number1 or Number2 are uninstantiated, the call
to xor/3 is delayed until these variables are instantiated.
Modes and Determinism
Exceptions
- (4) instantiation fault
- Number1 or Number2 is not instantiated (non-coroutining mode only).
- (5) type error
- Number1 or Number2 is a number but not an integer.
- (24) number expected
- Number1 or Number2 is not of a numeric type.
Examples
Success:
Result is xor(11, 7). % gives Result = 12
Result is xor(11, -7). % gives Result = -14
Error:
Result is xor(6, 2.0). % type error
See Also
is / 2