有符号右移的问题
-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可以自己用程序测试
int n = -15;System.out.println(Integer.toBinaryString(n));System.out.println(Integer.toBinaryString(n>>2));