日期:2014-05-20  浏览次数:20651 次

有符号右移的问题
-15>>2
那种逻辑是正确的:

1000 1111
>>1
  1000 0111
  因移出1而加1
  1000 1000
>>1
  1000 0100
=-4


1000 1111
>>2
  1000 0011
  因移出1而加1
  1000 0100
=-4

------解决方案--------------------
LZ可以自己用程序测试
Java code
int n = -15;
System.out.println(Integer.toBinaryString(n));
System.out.println(Integer.toBinaryString(n>>2));