Shivani Prajapati

Greenhorn

Posts: 9

Nikhil Bansal

Ranch Hand

Posts: 60

posted 10 years ago

Hi Shivani,

Right Shift Operaor >> is used to shift bits to the right for a given number.This operator will hold the sign of the number.

For example, if you have

int x = 0x80000000

x = x >> 4;

Here 0x80000000 equals -2147483648 in decimal and

1000 0000 0000 0000 0000 0000 0000 0000 in binary.

Since the most significant bit is 1 which represents the sign bit, so the right shift operator will fill four 1's from the left.

hence the number will be

1111 1000 0000 0000 0000 0000 0000 0000 or -134217728 in decimal.

>>> is the unsigned right shift operator which will not preserve the sign or the sign of the resultant number will always be positive.

Hence x >>> 4 will give you 0000 1000 0000 0000 0000 0000 0000 0000 or 134217728 in decimal.

Hope it helps.

Nikhil Bansal

Right Shift Operaor >> is used to shift bits to the right for a given number.This operator will hold the sign of the number.

For example, if you have

int x = 0x80000000

x = x >> 4;

Here 0x80000000 equals -2147483648 in decimal and

1000 0000 0000 0000 0000 0000 0000 0000 in binary.

Since the most significant bit is 1 which represents the sign bit, so the right shift operator will fill four 1's from the left.

hence the number will be

1111 1000 0000 0000 0000 0000 0000 0000 or -134217728 in decimal.

>>> is the unsigned right shift operator which will not preserve the sign or the sign of the resultant number will always be positive.

Hence x >>> 4 will give you 0000 1000 0000 0000 0000 0000 0000 0000 or 134217728 in decimal.

Hope it helps.

Nikhil Bansal

ban$al

wise owen

Ranch Hand

Posts: 2023

It is sorta covered in the JavaRanch Style Guide. |