Java defines
several bitwise operators , which can be applied to the integer types , long ,
int, s hort, char, and byte . Bitwise operator works on bits and performs
bit-by-bit operation. Assume if a = 60; and b = 13; now in binary format they
will be as follows :
a = 0011 1100
b = 0000 1101
-----------------
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a = 1100 0011
The following table
lists the bitwise operators :
Assume integer
variable A holds 60 and variable B holds 13 the n:
Operator
|
Description
|
Example
|
&
|
Binary AND Operator copies a bit to the result if it exists in both operands .
|
(A &
B) will give 12 which is 0000
1100
|
|
|
Binary OR Operator copies a bit if it exists in either operand.
|
(A | B) will give 61 which is 0011 1101
|
^
|
Binary XOR Operator copies the bit if it is s e t in one operand but not both.
|
(A ^ B) will give 49 which is 0011 0001
|
~
|
Binary One s Complement Operator is unary and
has the effect of
'flipping ' bits .
|
(~A ) will give -61 which is 1100 0011 in 2's complement form due to a signed binary number.
|
<<
|
Binary Left Shift Operator. The left operands value is move d left by the number of bits specified by the right operand.
|
A << 2 will give
240 which is 1111
0000
|
>>
|
Binary Right Shift Operator. T he left operands value is move d right by
|
A >> 2 will give 15
|
|
the number of bits specified by
the right operand.
|
which is 1111
|
>>>
|
Shift right zero fill operator. T he left operands value is move d right by the number of bits specified by
the right operand
and shifted value s are filled up with zeros .
|
A >>>2 will give 15 which is 0000 1111
|
No comments:
Post a Comment