Help Center
Help CenterFreeBASIC

Operator Xor= (Exclusive Disjunction And Assign)operator

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

Operatorsoperatordocumented

Syntax

Declare Operator Xor= ( ByRef lhs As T1, ByRef rhs As T2 )

Parameters

NameDescription
lhsThe 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 as a member Operator using the appropriate syntax.

Note: Similarly to the operator '=[>]' (assign), the alternative symbol 'Xor=>' can be also used.

Remarks

Usage


lhs Xor= rhs

Dialect Differences


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

Differences from QB


  • New to FreeBASIC

See also


Example


Dim As UByte a = &b00110011

Dim As UByte b = &b01010101

a Xor= b

'' Result    a = &b01100110

Print Bin(a)


Reference

  • Documented in KeyPgOpCombineXor.html