Bitwise operators operate on bits (i.e. on binary values of on operand)
Operator | Description |
---|
& | Bitwise AND |
| | Bitwise OR |
^ | Bitwise XOR |
<< | Left Shift |
>> | Right Shift |
- | One's complement |
Bitwise AND |
---|
a | b | a & b |
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
Bitwise OR |
---|
a | b | a | b |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
Bitwise XOR |
---|
a | b | a ^ b |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |

Example
Following is the C program for addition and multiplication by 2 with the help of bitwise operators −
#include<stdio.h>
main(){
int a;
printf("Enter a\n");
scanf("%d",&a);
printf("%d*2=%d \n",a,a<<1);
printf("%d/2=%d \n",a,a>>1);
}
Output
When the above program is executed, it produces the following output −
Run 1:
Enter a
45
45*2=90
45/2=22
Run 2:
Enter a
65
65*2=130
65/2=32