Prev Next
Bit wise operators in C:
- 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
y= 01010000
- All bit wise operations for x and y are given below.
x&y = 00000000 (binary) = 0 (decimal)
x|y = 01111000 (binary) = 120 (decimal)
~x =1111111111111111111111111111111111111111111111111111111111010111
.. ..= -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 0000000000000000000000000000000000000000000000000000000000101000. 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 = %dn",AND_opr ); printf("OR_opr value = %dn",OR_opr ); printf("NOT_opr value = %dn",NOT_opr ); printf("XOR_opr value = %dn",XOR_opr ); printf("left_shift value = %dn", m << 1); printf("right_shift value = %dn", m >> 1); }
Output:
AND_opr value = 0
OR_opr value = 120 NOT_opr value = -41 XOR_opr value = 120 left_shift value = 80 right_shift value = 20 |
……
Continue on types of C operators:
- Click on each operators name below to display example programs.
S.no
|
Types of Operators
|
Description
|
1
|
Arithmetic_operators | These are used to perform mathematical calculations like addition, subtraction, multiplication, division and modulus |
2
|
Assignment operators | These are used to assign the values for the variables in C programs. |
3
|
Relational operators | These operators are used to compare the value of two variables. |
4
|
Logical operators | These operators are used to perform logical operations on the given two variables. |
5
|
Bit wise operators | These operators are used to perform bit operations on given two variables. |
6
|
Conditional (ternary) operators | Conditional operators return one value if condition is true and returns another value is condition is false. |
7
|
Increment/decrement operators | These operators are used to either increase or decrease the value of the variable by one. |
8
|
Special operators | &, *, sizeof( ) and ternary operators |
Prev Next
.