In computer programming, a bitwise operation operates on one or two bit patterns or binary numerals at the level of their individual bits.
0 | 0 | 1 | 1 | ||
0 | 1 | 0 | 1 | ||
AND | a & b | 0 | 0 | 0 | 1 |
OR | a | b | 0 | 1 | 1 | 1 |
XOR | a ^ b | 0 | 1 | 1 | 0 |
0 | 0 | 1 | 1 | ||
NOT | a ~ b | 1 | 1 | 0 | 0 |
AND
A bitwise AND takes two binary representations of equal length and performs the logical AND operation on each pair of corresponding bits. In each pair, the result is 1 if the first bit is 1 AND the second bit is 1. Otherwise, the result is 0.
NOT
The bitwise NOT, or complement, is a unary operation that performs logical negation on each bit, forming the ones' complement of the given binary value. Digits which were 0 become 1, and vice versa
OR
A bitwise OR takes two bit patterns of equal length, and produces another one of the same length by matching up corresponding bits (the first of each; the second of each; and so on) and performing the logical inclusive OR operation on each pair of corresponding bits. In each pair, the result is 1 if the first bit is 1 OR the second bit is 1 (or both), and otherwise the result is 0.
XOR
A bitwise exclusive or takes two bit patterns of equal length and performs the logical XOR operation on each pair of corresponding bits. The result in each position is 1 if the two bits are different, and 0 if they are the same.