### Operator XOR= (Exclusive Disjunction and Assign)

Performs a bitwise-xor (exclusive disjunction) and assigns the result to a variable

**Syntax:**

**Usage:**

`
`

*lhs*

**Xor=**

*rhs*

**Parameters:**

*lhs*
The variable to assign to.

*T1*
Any numeric or boolean type.

*rhs*
The value to perform a bitwise-xor (exclusive or) with

`.`*lhs*

*T2*
Any numeric or boolean type.

**Description:**

This operator performs a bitwise-or and assigns the result to a variable (for conversion of a boolean to an integer, false or true boolean value becomes 0 or -1 integer value). It is functionally equivalent to:

This operator can be overloaded for user-defined types as a member

`compares each bit of its operands,`**Xor=**`and`*lhs*`, and if both bits are the same (both 1 or both 0), then the corresponding bit in the first operand,`*rhs*`, is set to 0, otherwise it is set to 1.`*lhs*This operator can be overloaded for user-defined types as a member

`Operator`using the appropriate syntax.*Note: Similarly to the operator '=[>]' (assign), the alternative symbol 'Xor=>' can be also used.***Examples:**

Dim As UByte a = &b00110011

Dim As UByte b = &b01010101

a Xor= b

'' Result a = &b01100110

Print Bin(a)

Dim As UByte b = &b01010101

a Xor= b

'' Result a = &b01100110

Print Bin(a)

**Dialect Differences:**

- In the
*-lang qb*dialect, this operator cannot be overloaded.

**Differences from QB:**

- New to FreeBASIC

**See also:**

Back to Assignment Operators

Back to Operators