Right and Left shift operators

The right and left shift operators are binary operators.One operand represents the number in which bits are to be shifted and the other operand represents the shift positions.The shift operators are applied on integer data type variables.

Right shift operator

The right shift operator shifts all the bits of a binary number in the right direction.

Syntax:

operand>>number

Example:

6>>2

Binary representation of 6 in bits.

0000       0110

The operator shifts the bits of this binary number to right by 2 positions,the two rightmost bits are discarded.

0000      0001 6>>2=1

The formula is                 operand / 2(power)number.

6/2power2=6/4=1

Left shift operators

The left shift operator shifts all the bits of a binary number in the left direction.

Syntax:

operand<

Example:

4<<2

Binary representation of 4 in bits.

0000       0100

The operator shifts the bits of this binary number to left by 2 positions,the two leftmost bits are discarded.

0001    0000

The formula is                 operand *2(power)number.

4*2power2=4*4=16

Unsigned shift operator

unsigned shift operator is used to shift the bits of a binary number to right.The operator fills leftmost bits of a binary value with 0 irrespective of whether the number has 0 or 1 at the leftmost bit.

example:

6>>>24

Binary representation of 6in bits.(64 bit representation)

00000000 00000000 00000000 00000110

output:

00000000 00000000 00000000 00000000