Tuesday 3 February 2015

Chapter 3.3 : The Bitwise Operators :




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