### Imp (operator)

 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).
 I