Operator Eqv= (Equivalence And Assign)

FreeBASIC

Operator Eqv= (Equivalence And Assign)
 
Performs a bitwise-eqv (equivalence) and assigns the result to a variable

Syntax

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

Usage

lhs Eqv= rhs

Parameters

lhs
The variable to assign to.
T1
Any numeric or boolean type.
rhs
The value to perform a bitwise-eqv (equivalence) with lhs.
T2
Any numeric or boolean type.

Description

This operator performs a bitwise-eqv 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 Eqv rhs

Eqv= compares each bit of its operands, lhs and rhs, and if both bits are the same (either both 0 or both 1), then the corresponding bit in the first operand, lhs, is set to 1, otherwise it is set to 0.

This operator can be overloaded for user-defined types.

Example

Dim As UByte a = &b00110011
Dim As UByte b = &b01010101
a Eqv= b
'' Result    a = &b10011001
Print Bin(a)


Dialect Differences

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

Differences from QB

  • New to FreeBASIC

See also