# Xor Operator

Used to perform a logical exclusion on two expressions.

## Syntax

[ *result***=** ] *expression1* **Xor** *expression2*
The **Xor** operator syntax has these parts:

Part |
Description |
---|---|

result |
Optional; any numeric variable. |

expression1 |
Required; any expression. |

expression2 |
Required; any expression. |

## Remarks

If one, and only one, of the expressions evaluates to **True**, *result* is **True**. However, if either expression is Null, *result* is also **Null**. When neither expression is **Null**, *result* is determined according to the following table:

If expression1 is |
And expression2 is |
Then result is |
---|---|---|

True |
True |
False |

True |
False |
True |

False |
True |
True |

False |
False |
False |

The **Xor** operator performs as both a logical and bitwise operator. A bitwise comparison of two expressions using exclusive-or logic to form the result, as shown in the following table:

If bit in expression1 is |
And bit in expression2 is |
Then result is |
---|---|---|

0 | 0 | 0 |

0 | 1 | 1 |

1 | 0 | 1 |

1 | 1 | 0 |

## Example

This example uses the **Xor** operator to perform logical exclusion on two expressions.

```
Dim A, B, C, D, MyCheck
A = 10: B = 8: C = 6: D = Null ' Initialize variables.
MyCheck = A > B Xor B > C ' Returns False.
MyCheck = B > A Xor B > C ' Returns True.
MyCheck = B > A Xor C > B ' Returns False.
MyCheck = B > D Xor A > B ' Returns Null.
MyCheck = A Xor B ' Returns 2 (bitwise comparison).
```