Operator EQV (Equivalence)
- Source: https://www.freebasic.net/wiki/wikka.php?wakka=KeyPgOpEqv
- Last revised: 2016-03-13
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 or boolean type.
rhs
The right-hand side expression.
T2
Any numeric or boolean type.
Ret
A numeric or boolean 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 (for conversion of a boolean to an integer, false or true boolean value becomes 0 or -1 integer value).
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. Only if the left and right-hand side types are both Boolean, the return type is also Boolean.
This operator can be overloaded for user-defined types.
Examples
start GeSHi
Dim As UByte a = &b00110011
Dim As UByte b = &b01010101, c
c = a Eqv b '' c = &b10011001end GeSHi
Dialect Differences
- In the -lang qb dialect, this operator cannot be overloaded.
Differences from QB
- None
See also
Back to DocToc