Operator Xor= (Exclusive Disjunction And Assign)
Performs a bitwise-xor (exclusive disjunction) and assigns the result to a variable
lhs Xor= rhs
lhs
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:
Xor= compares each bit of its operands, lhs and rhs, and if both bits are the same (both 1 or both 0), then the corresponding bit in the first operand, lhs, is set to 0, otherwise it is set to 1.
This operator can be overloaded for user-defined types.
Syntax
Usage
lhs Xor= rhs
Parameters
lhs
The variable to assign to.
T1Any numeric or boolean type.
rhsThe value to perform a bitwise-xor (exclusive or) with lhs.
T2Any 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:
lhs = lhs Xor rhs
Xor= compares each bit of its operands, lhs and rhs, and if both bits are the same (both 1 or both 0), then the corresponding bit in the first operand, lhs, is set to 0, otherwise it is set to 1.
This operator can be overloaded for user-defined types.
Example
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