Bitwise intersection (and)

The bitwise intersection operator and produces a result by comparing all 64 bits of its left and right operands, which must be expressions of type integer, one bit at a time. For each bit in the two operands, the corresponding bit in the result value is set to 1 if both operand bit values are 1 and set to 0 if either operand bit value is 0.

Example

The following illustrates this using 64-bit binary values.

a := 42;

0000000000000000000000000000000000000000000000000000000000101010

b := 642;

0000000000000000000000000000000000000000000000000000001010000010

a and b

0000000000000000000000000000000000000000000000000000000000000010