In this section you will learn about the Bitwise Operators. This is one type of operators.

In this section you will learn about the Bitwise Operators. This is one type of operators.

**Bitwise Operators :**

Bitwise and Bit Shift Operators : This is another kind of java programming operators and these are used for bitwise and bit shift operations on integral types. These operations are operated on one or more bit patterns according to the level of individual bits. It is very fast as it is directly done by the processor. you can use it for different kind of calculations and manipulation. For low-cost processors bitwise operation is more faster in compare to the arithmetic operation but now a days processors are fast so performance of both operators are same.

**& (Binary AND Operator) -** If a bit exists in both operands
then it copies one bit as a result. That means if both bits are 1 then it
returns 1.

**| (Binary OR Operator) -** If a bit exists in either of
operands then it copies one bit as a result. It means if either bit is 1 then it
returns 1.

**^ (Binary XOR Operator) - **It copies the bit if a bit is set
in one operand but not both then it copies one bit as a result. It returns 1 if
both bits are different.

**~ (Binary Ones Complement Operator) -** This operator inverts
the bits.

**<< (Binary Left Shift Operator) -** This operator shifts the
left operands value by the number of bits specified by the right operand.

**>> (Binary Right Shift Operator) -** This operator shifts the
right operands value by the number of bits specified by the right operand.

**>>> (Shift right zero fill operator) -** This operator shifts
the right operands value by the number of bits specified by the right operand
and shifted values are filled up with zeroes.

**Example :**

package operator; class BitwiseOperator { public static void main(String[] args) { int x = 24; int y = 10; int z = 0; z = x & y; //Binary AND Operator System.out.println("x & y = " + z); z = x | y; //Binary OR Operator System.out.println("x | y = " + z); z = x ^ y; //Binary XOR Operator System.out.println("x ^ y = " + z); z = ~x; //Binary Ones Complement Operator System.out.println("~x = " + z); z = x << 2; //Binary Left Shift Operator System.out.println("x << 2 = " + z); z = x >> 2; //Binary Right Shift Operator System.out.println("x >> 2 = " + z); z = x >>> 2; //Shift right zero fill operator System.out.println("x >>> 2 = " + z); } }

**Output :**

x & y = 8 x | y = 26 x ^ y = 18 ~x = -25 x << 2 = 96 x >> 2 = 6 x >>> 2 = 6

Ads