有符号右移的问题
-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));