lang • xor

XOR

Result = Expression XOR Expression

Compute the logical exclusive or of two boolean expressions, or the numerical exclusive or of two integer numbers.

Strings and objects are automatically converted to booleans.

A null string or a null object is converted to FALSE, other values are converted to TRUE.

Since 3.17

If one of the operands is a floating value, an error is raised.

Before Gambas 3.17, the floating point values were silently converted to Boolean, leading to a useless result.

The logical XOR operator connects two boolean expressions and returns a true or false value. The result returned by this operation is shown in the following table:

A

B A XOR B
FALSE FALSE TRUE
FALSE TRUE FALSE
TRUE FALSE TRUE
TRUE TRUE FALSE

The numerical XOR operator connects two integer values and returns an integer value. Each corresponding bit of the specified values is combined according to the following table:

A

B A XOR B
0 0 0
0 1 1
1 0 1
1 1 0

Examples

PRINT TRUE XOR FALSE
True
PRINT TRUE XOR TRUE
False
PRINT 7, Bin(7, 16)
PRINT 11, Bin(11, 16)
PRINT 7 XOR 11, Bin(7 XOR 11, 16)
7       0000000000000111
11      0000000000001011
12      0000000000001100

See also