The bitwise operators perform bitwise AND, bitwise inclusive OR, left shift, right shift, and one’s complement (unary).
| Bitwise AND | & | Masks off the specified bits |
|---|---|---|
| Bitwise inclusive OR | | | Turns on the specified bits |
| Bitwise exclusive OR | ^ | Sets to 1 each bit position where the operands have different bits, and sets to 0 each bit position where the operands have the same bits. |
| Bitwise 1’s complement | ~ | Changes each 1-bit into a 0-bit and vice-versa. |
| Left Shift | << | Shifts to the left the left operand by the number of bit positions indicated by the right operand. |
| Right Shift | >> | Shifts to the right the left operand by the number of bit positions indicated by the right operand. |
These operators apply to integers.
The following table shows each of the possible results for bitwise AND, OR, and exclusive OR (XOR).
| 0 | 1 | ||
|---|---|---|---|
| AND (&) |
0 1 |
0 0 |
0 1 |
| OR ( | ) |
0 1 |
0 1 |
1 1 |
| XOR ( ^ ) |
0 1 |
0 1 |
1 0 |