X or (operator)

Syntax

expression1 Xor expression2

Description

Performs a logical or binary exclusion on two expressions.

Comments

If both expressions are either Boolean, Boolean variants, or NULL variants, then a logical exclusion is performed as follows:

 

If the first
expression is

and the second
expression is

then the
result is

 

TRUE

TRUE

FALSE

 

TRUE

FALSE

TRUE

 

FALSE

TRUE

TRUE

 

FALSE

FALSE

FALSE

 

If either expression is Null, then Null is returned.

Binary Exclusion

If the two expressions are Integer, then a binary exclusion is performed, returning an Integer result. All other numeric types (including Empty variants) are converted to Long, and a binary exclusion is then performed, returning a Long result.

Binary exclusion 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

Xor

1

=

0

Example

 

0

Xor

1

=

1

5 01101001

 

1

Xor

0

=

1

6 10101010

 

0

Xor

0

=

0

Xor  11000011

Example

This example builds a logic table for the XOR function and displays it.

Const crlf = Chr$(13) + Chr$(10)

Sub Main()

  msg1 = "Logic table for Xor:" & crlf & crlf
  For x = -1 To 0
    For y = -1 To 0
      z = x Xor y
      msg1 = msg1 & CBool(x) & " Xor "
      msg1 = msg1 & CBool(y) & " = "
      msg1 = msg1 & CBool(z) & crlf
    Next y
  Next x
  MsgBox msg1
End Sub

See Also

Operator Precedence (topic); Or (operator); Eqv (operator); Imp (operator); And (operator).

More information

Basic Control Engine Language Reference