*
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes unsigned right shift operator >>". " title="" /> Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of The Java EE 7 Tutorial Volume 1 or Volume 2 this week in the Java EE forum
or jQuery UI in Action in the JavaScript forum!
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "unsigned right shift operator ">>>". " Watch "unsigned right shift operator ">>>". " New topic
Author

unsigned right shift operator ">>>".

srinibash udayasingh
Greenhorn

Joined: Jul 09, 2007
Posts: 22
Hi Ranchers

i am always confuse to solve " unsigned right shift operator ">>>". ".

can anyone explain with examples how it works.

Thanks
Mallik Avula
Ranch Hand

Joined: Nov 30, 2006
Posts: 86
Hi srinibash udayasingh ,
If the left-hand operand is positive, the result is the same as a right-hift
For example: 16 >> 2 = 4
Decimal 16 00000000000000000000000000010000
Right-shift 2 00000000000000000000000000010000
fill left 00000000000000000000000000000100
discard right 00000000000000000000000000000100 -> Decimal 4

If the left-hand operand is negative,
For example: -16 >>> 2 = 1,073,741,820
Decimal -16 11111111111111111111111111110000
>>> 2 11111111111111111111111111110000
fill left 0011111111111111111111111111110000
discard right 00111111111111111111111111111100 -> 1,073,741,820.

Hope it will help you.


Thanks & Regards<br />Mallik Avula<br />SCJP1.4
Bert Bates
author
Sheriff

Joined: Oct 14, 2002
Posts: 8815
    
    5
remember this topic is valid for the 1.4 exam but it's NOT on the 5.0 exam.


Spot false dilemmas now, ask me how!
(If you're not on the edge, you're taking up too much room.)
marc weber
Sheriff

Joined: Aug 31, 2004
Posts: 11343

The signed right shift operator (>>) shifts to the right while maintaining the sign. That means it fills in positions on the left with the same value as the "sign bit" (the leftmost bit before the shift). This has the effect of keeping positive values (with a sign bit of 0) positive by filling in with zeros, and keeping negative values (with a sign bit of 1) negative by filling in with ones.

The unsigned right shift operator (>>>) shits to the right without caring what the original sign was. It simply fills in positions on the left with zeros.

(Note Bert's post above.)
[ July 20, 2007: Message edited by: marc weber ]

"We're kind of on the level of crossword puzzle writers... And no one ever goes to them and gives them an award." ~Joe Strummer
sscce.org
 
jQuery in Action, 2nd edition
 
subject: unsigned right shift operator ">>>".