| Author |
Understanding Shift Operators
|
Sumithab Baskaran
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); Answer: Before shift occurs -2147483648 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; Answer: ~x = -6 My question: 5 in binary is: 0101. Converting it gives: 1010 which is 10. Why is the answer -6? Please explain. 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 ]
|
Ask a Meaningful Question and HowToAskQuestionsOnJavaRanch
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
|
|
|