Help Center›FreeBASIC
Operator Imp (Implication)operator
Returns the bitwise-and (implication) of two numeric values
Syntax
Declare Operator Imp ( ByRef lhs As T1, ByRef rhs As T2 ) As Ret
Parameters
| Name | Description | |
|---|---|---|
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-implication of the two operands.
Description
This operator returns the bitwise-implication 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-implication operation:
| Lhs Bit | Rhs Bit | Result |
| 0 | 0 | 1 |
| 1 | 0 | 0 |
| 0 | 1 | 1 |
| 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.
Remarks
Usage
result = lhs Imp rhs
Dialect Differences
- In the -lang qb dialect, this operator cannot be overloaded.
Differences from QB
- None
See also
Example
Dim As UByte a, b, c
a = &b00001111
b = &b01010101
c = a Imp b '' c = &b11110101
Reference
- Documented in KeyPgOpImp.html