Xor
From Xojo Documentation
Performs a logical Xor operation on booleans and a bitwise Xor operation on integers.
Usage
result = expression1 Xor expression2
Part | Description |
---|---|
result | A Boolean value if expression1 and expression2 are Boolean; an Integer value if expression1 and expression2 are integers. |
expression1 | Any valid Boolean or Integer expression. The data types of expression1 and expression2 must match. |
expression2 | Any valid Boolean or Integer expression. The data types of expression1 and expression2 must match. |
Notes
If you use Xor with two booleans, it returns the logical Xor of the booleans. The result table for Xor, Or, and And is:
Expression1 | Expression2 | Xor | Or | And |
---|---|---|---|---|
True | True | False | True | True |
True | False | True | True | False |
False | True | True | True | False |
False | False | False | False | False |
If you use Xor with two booleans, it returns True if the booleans are not equal. The logic is "Not (a=b)". The result is a boolean.
When you pass two integers, it returns an integer that is the result of comparing each bit of the two integers passed and assigning 1 to the bit position in the integer returned if both bits in the same position in the integer passed are not equal. Otherwise, 0 is assigned to the bit position. In this case, it is equivalent to using the BitXor method of the Bitwise class.
The following table shows the results:
Integer1 | Integer2 | BitAnd | BitOr | BitXor |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 1 |
1 | 0 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 0 |
Sample Code
This example does a bitwise Xor on the two integers passed.
See Also
And, Not, Or operators; Bitwise class; Operator_And function; Operator precedence