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