• Post Reply Bookmark Topic Watch Topic
  • New Topic

Shift operators

 
Amit, Jhalani
Greenhorn
Posts: 21
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Can sombody help me out on this.
public class Test {
public static void main(String b[]){
int n = 3;
n <<= -2;
System.out.println(n);
}
}
I am able to compile it and able to run it also. I wanna know can i use negetive numbers with the shift operatos.The above program gave me the answer as -1073741824.
Please explane.
Thanks
Amit
 
Carl Trusiak
Sheriff
Posts: 3341
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
This discussion explains this extremely well http://www.javaranch.com/ubb/Forum24/HTML/000848.html
Note the lower 5 bits of -2 result in a value of 30 so, this is the same as writing
n <<= 30;
 
Gravity is a harsh mistress. But this tiny ad is pretty easy to deal with:
the new thread boost feature: great for the advertiser and smooth for the coderanch user
https://coderanch.com/t/674455/Thread-Boost-feature
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!