# Logical (Boolean) Operators

Logical expressions, like comparison expressions, return a true (1) or false (0) value when processed. Logical operators combine two comparisons and return the true (1) or false (0) value depending on the results of the comparisons.

The logical operators are:
Operator
Meaning
&
AND
Returns 1 if both comparisons are true. For example:
``````(4 > 2) & (a = a)   /* true, so result is 1  */

(2 > 4) & (a = a)   /* false, so result is 0 */``````
|
Inclusive OR
Returns 1 if at least one comparison is true. For example:
``````(4 > 2) | (5 = 3)   /* at least one is true, so result is 1 */

(2 > 4) | (5 = 3)   /* neither one is true, so result is 0 */``````
&&
Exclusive OR
Returns 1 if only one comparison (but not both) is true. For example:
``````(4 > 2) && (5 = 3)  /* only one is true, so result is 1 */

(4 > 2) && (5 = 5)  /* both are true, so result is 0 */

(2 > 4) && (5 = 3)  /* neither one is true, so result is 0 */``````
Prefix \
Logical NOT
Returns the opposite response. For example:
``````\ 0                 /* opposite of 0, so result is 1 */

\ (4 > 2)           /* opposite of true, so result is 0 */``````