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 |