C Programming Bitwise Operators

Last modified by Microchip on 2023/11/09 09:06

The bitwise operators perform Boolean algebra. Each of these operators performs their operations on each bit of the operands. For instance, if we have two 4-bit binary values, the operation will be carried out between bit 0 of each value, then between bit 1 of each value and so on. In other words, these operators do a bunch of single-bit operations in parallel.

OperatorOperationExampleResult (for each bit position)
&Bitwise ANDx & y1, if 1 in both x and y
0, if 0 in x or y or both
|Bitwise ORx | y1, if 1 in x or y or both
0, if 0 in both x and y
^Bitwise XORx ^ y1, if 1 in x or y but not both
0, if 0 or 1 in both x and y
~Bitwise NOT
(One's Complement)
~x1, if 0 in x
0, if 1 in x