Help Center
Help CenterFreeBASIC

Operator Eqv= (Equivalence And Assign)operator

Performs a bitwise-eqv (equivalence) and assigns the result to a variable

Operatorsoperatordocumented

Syntax

Declare Operator Eqv= ( 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-eqv (equivalence) with
lhs.
T2Any 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 as a member Operator using the appropriate syntax.

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

Remarks

Usage


lhs Eqv= 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 Eqv= b

'' Result    a = &b10011001

Print Bin(a)


Reference

  • Documented in KeyPgOpCombineEqv.html