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 table illustrates this using 64-bit binary values.
a := 42; | 0000000000000000000000000000000000000000000000000000000000101010 |
b := 642; | 0000000000000000000000000000000000000000000000000000001010000010 |
a and b | 0000000000000000000000000000000000000000000000000000000000000010 |