Operator Eqv (Equivalence)
Returns the bitwise-and (equivalence) of two numeric values
Syntax
`
Declare Operator Eqv ( ByRef lhs As T1, ByRef rhs As T2 ) As Ret
`
Usage
`
result = lhs Eqv rhs
`
Parameters
`lhs`
The left-hand side expression.
`T1`
Any numeric type.
`rhs`
The right-hand side expression.
`T2`
Any numeric type.
`Ret`
A numeric type (varies with `T1` and `T2`).
Return Value
Returns the bitwise-equivalence of the two operands.
Description
This operator returns the bitwise-equivalence of its operands, a logical operation that results in a value with bits set depending on the bits of the operands.
The truth table below demonstrates all combinations of a boolean-equivalence operation:

Lhs Bit | Rhs Bit | Result
0 | 0 | 1
1 | 0 | 0
0 | 1 | 0
1 | 1 | 1

No short-circuiting is performed - both expressions are always evaluated.
The return type depends on the types of values passed. `Byte`, `UByte` and floating-point type values are first converted to `Integer`. If the left and right-hand side types differ only in signedness, then the return type is the same as the left-hand side type (`T1`), otherwise, the larger of the two types is returned.
This operator can be overloaded for user-defined types.
Example
`
Dim As UByte a = &b00110011
Dim As UByte b = &b01010101, c
c = a Eqv b '' c = &b10011001
`
Dialect Differences

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

Differences from QB

- None

See also

- Operator Truth Tables