File APIs for Java Developers Manipulate DOC, XLS, PPT, PDF and many others from your application. http://aspose.com/file-tools
Big Moose Saloon
 Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies Register / Login Win a copy of Head First Android this week in the Android forum!

# Understanding Shift Operators

Ranch Hand

Joined: Oct 29, 2004
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

Joined: Aug 03, 2002
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 ]

Getting someone to think and try something out is much more useful than just telling them the answer.
Hai Le
Greenhorn

Joined: Sep 22, 2004
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.

Step one step back to learn more thing..!!<br />Post to learn<br />learn from mistake<br />take whatever i understand...!!!<br /> <br />SCJP 1.4, Brainbench Java 1 & 2.<br />SCWCD 1.4 (preparing...!!)

subject: Understanding Shift Operators