I forget which is which, but one of >> and >>> maintains the sign bit, and one doesn't.
Here is a quick overview i found when googling "java shift operators"
also, I'm not sure i'd really say that x>>y means x / 2^y. try it with y=32 (i think that's the right value), and you'll notice that nothing actually happens. [ December 15, 2006: Message edited by: fred rosenberger ]
There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors
x << y is left shift ( x*pow(2,y)) x >> y is right shift( x/pow(2,y)) with sign fill operator. i.e while shiftg bits right the lower bits are discarded and higher bits are placed by 1 or 0 depending upon the sign bit of the no. here (x)
while in x >>> y , its right shift with Zero fill operator. i.e lower bits will b discarded but higher bits will b replaced by 0 regardless of the sign bit of no. here (x).
Detail topic you can find in Khalid Mughal or Kathy Sierra.