Operator Xor= (Exclusive Disjunction And Assign)

FreeBASIC

Operator Xor= (Exclusive Disjunction And Assign)
 
Performs a bitwise-xor (exclusive disjunction) and assigns the result to a variable

Syntax

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

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:

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)


Dialect Differences

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

Differences from QB

  • New to FreeBASIC

See also