A friendly place for programming greenhorns!
Big Moose Saloon
Register / Login
Win a copy of
Node.js in Action
this week in the
Programmer Certification (SCJP/OCPJP)
Joined: Aug 23, 2006
Oct 31, 2006 21:47:00
I couldn�t understand the operators >> and >>>. Can anyone help in it?
Joined: Jan 24, 2005
Oct 31, 2006 23:14:00
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.
Joined: Feb 02, 2006
Nov 01, 2006 03:10:00
How do the '>>', '>>>', and '<<' operators work?
It is sorta covered in the
JavaRanch Style Guide
subject: Shift Operators
Unary Operator ()
Increment and Decrement Operators
Doubt on != and == when boxing and unboxing is used
Use of shift operators in Java
All times are in JavaRanch time: GMT-6 in summer, GMT-7 in winter
| Powered by
Copyright © 1998-2014