Bit wise operators in C:
Truth table for bit wise operation Bit wise operators:
Note:
Example program for bit wise operators in C:
Output:
- These operators are used to perform bit operations. Decimal values are converted into binary values which are the sequence of bits and bit wise operators work on these bits.
- Bit wise operators in C language are & (bitwise AND), | (bitwise OR), ~ (bitwise OR), ^ (XOR), << (left shift) and >> (right shift).
Truth table for bit wise operation Bit wise operators:
| x | y | x|y | x & y | x ^ y | Operator symbol | Operator name |
|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | & | Bitwise AND |
| 0 | 1 | 1 | 0 | 1 | | | Bitwise OR |
| 1 | 0 | 1 | 0 | 1 | ~ | Bitwise NOT |
| 1 | 1 | 1 | 1 | 0 | ^ | XOR |
| << | Left Shift | |||||
| >> | Right Shift |
- Consider x=40 and y=80. Binary form of these values are given below. x = 00101000
- All bit wise operations for x and y are given below. x&y = 00000000 (binary) = 0 (decimal)
y= 01010000
x|y = 01111000 (binary) = 120 (decimal)
~x = 11111111111111111111111111 11111111111111111111111111111111010111 = -41 (decimal)
x^y = 01111000 (binary) = 120 (decimal)
x << 1 = 01010000 (binary) = 80 (decimal)
x >> 1 = 00010100 (binary) = 20 (decimal)
Note:
- Bit wise NOT : Value of 40 in binary is 00000000000000000000000000000000 00000000000000000010100000000000. So, all 0′s are converted into 1′s in bit wise NOT operation.
- Bit wise left shift and right shift : In left shift operation “x << 1 “, 1 means that the bits will be left shifted by one place. If we use it as “x << 2 “, then, it means that the bits will be left shifted by 2 places.
Example program for bit wise operators in C:
- In this example program, bit wise operations are performed as shown above and output is displayed in decimal format.
#include <stdio.h> int main() { int m = 40,n = 80,AND_opr,OR_opr,XOR_opr,NOT_opr ; AND_opr = (m&n); OR_opr = (m|n); NOT_opr = (~m); XOR_opr = (m^n); printf("AND_opr value = %d\n",AND_opr ); printf("OR_opr value = %d\n",OR_opr ); printf("NOT_opr value = %d\n",NOT_opr ); printf("XOR_opr value = %d\n",XOR_opr ); printf("left_shift value = %d\n", m << 1); printf("right_shift value = %d\n", m >> 1);
AND_opr value = 0 OR_opr value = 120 NOT_opr value = -41 XOR_opr value = 120 left_shift value = 80 right_shift value = 20
0 Comments For "Bitwise Operators In C"