Bitwise operator :
Bitwise operator are used to perform operations at binary level i. e. bitwise. these operators are used for testing the bits, or Shifting them right or left . These operators are not applicable to float or double. Following are the Bitwise operators with their meanings.Operator Meaning
& Bitwise AND
| Bitwise OR
^ Bitwise Exclusive – OR
<< Left Shift
>> Right Shift
~ Complement
Eg: consider a = 13 & b = 6 as 8 bit short int (1byte)
<< Left Shift
a = 13 Binary 00001101
b = 6 00000110
Consider a << 2 which Shifts two bits to left , that is 2 zeros are inserted at the right and two bits at the left are moved out.
00001101
Moved
00110100
Finally the result is 00110100 . Deci 52 (13x4)
Note : when you shift a bit towards left its Decimal Value is multiplied by Two (2).
a =13 13= 00001101
a >>2 00000011
000000 11 Decimal 3 (13/4)
Program: WAP to illustrate the use of size of operator
main ( )
{
int x = 2;
float y = 2;
printf (“ in size of ( x ) is %d bytes “, sizeof ( x ));
printf (“ in size of ( y ) is %d bytes “, sizeof ( y ));
printf (“ in Address of x = % u and y = % u “, & x, & y);
}
Output:
sizeof ( x ) = 2
sizeof ( y ) = 4
Address of x = 4066 and y = 25096
~ Complement
convert 0?s & to 1?s and 1?s to O?s .
& (Bitwise logical and ) op1 op2 & |
a = 13 0000 1101 0 0 0 0
b = 6 0000 0110 0 1 0 1
a & b 0000 0100 1 0 0 1
1 1 1 1
| (Bitwise Logical or )
a = 13 0000 1101
b = 6 0000 0110
a 1b 0000 1111
^ ( Bitwise Exclusive or ) op1 op2 ^
0 0 0
a = 13 0000 1101 0 1 0
b = 6 0000 0110 1 0 1
a ^ b 0000 1011 1 1 0
0 comments:
Post a Comment