programming forums Java Java JSRs Mobile Certification Databases Caching Books Engineering OS Languages Paradigms IDEs Build Tools Frameworks Products This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
Sheriffs:
Saloon Keepers:
Bartenders:

# Understanding Shift Operators

Ranch Hand
Posts: 52
I am a liitle confused about how the shift operator works. I am following the Kathy and Bates book. Here are my doubts:

1) int x = 0x80000000;
System.out.println("Before shift occurs:" +x);
x = x << 1;
System.out.println("After shift occurs:" +x);

After shift occurs 0

My question: What is that number 2147483648? Where did that come from? Please explain HOW and WHY they get that number.

2) Bitwise Complement Operator

int x = 5;
x = ~x;

My question: 5 in binary is: 0101. Converting it gives: 1010 which is 10.

I know these are very fundamental questions. Please excuse me.
Thanks

Barry Gaunt
Ranch Hand
Posts: 7729
Start off by reading: Corey's TipLine on Shift Operators.

And this and some more.

Almost forgot: two's complement info

If you still need clarification come on back and ask
[ November 21, 2004: Message edited by: Barry Gaunt ]

Hai Le
Greenhorn
Posts: 28
# 2) 5 in binary is 0101. Converted it give: 1010 which is: -8 + 0 + 2 + 0 = -6

waiting for the explaination of #1.

 It is sorta covered in the JavaRanch Style Guide.