Syntax
|
expression1 Imp expression2
|
Description
|
Performs a logical or binary implication on two expressions.
|
Comments
|
If both expressions are either Boolean, Boolean variants, or Null variants, then a logical implication is performed as follows:
|
|
If the first
expression is
|
and the second
expression is
|
then the
result is
|
|
TRUE
|
TRUE
|
TRUE
|
|
TRUE
|
FALSE
|
FALSE
|
|
TRUE
|
NULL
|
NULL
|
|
FALSE
|
TRUE
|
TRUE
|
|
FALSE
|
FALSE
|
TRUE
|
|
FALSE
|
NULL
|
TRUE
|
|
NULL
|
TRUE
|
TRUE
|
|
NULL
|
FALSE
|
NULL
|
|
NULL
|
NULL
|
NULL
|
|
Binary Implication
If the two expressions are Integer, then a binary implication is performed, returning an Integer result. All other numeric types (including Empty variants) are converted to Long and a binary implication is then performed, returning a Long result.
Binary implication forms a new value based on a bit-by-bit comparison of the binary representations of the two expressions, according to the following table:
|
|
1
|
Imp
|
1
|
=
|
1
|
Example
|
|
0
|
Imp
|
1
|
=
|
1
|
5 01101001
|
|
1
|
Imp
|
0
|
=
|
0
|
6 10101010
|
|
0
|
Imp
|
0
|
=
|
1
|
Imp 10111110
|
Example
|
This example compares the result of two expressions to determine whether one implies the other.
Sub Main()
a = 10 : b = 20 : c = 30 : d = 40
If (a < b) Imp (c < d) Then
MsgBox "a is less than b implies that c is less than d."
Else
MsgBox "a is less than b does not imply that c is less than d."
End If
If (a < b) Imp (c > d) Then
MsgBox "a is less than b implies that c is greater than d."
Else
MsgBox "a is less than b does not imply that c is greater than d."
End If
End Sub
|
See Also
|
Operator Precedence (topic); Or (operator); Xor (operator); Eqv (operator); And (operator).
|