1
jwk345 Oct 12, 2015 via iPhone int 是 32 位,向右移 n 位, n 会换算成 n mod 32 ,相当于-1>>>0
|
2
raptium Oct 12, 2015 因为其实没有移,左边是 int 的话,右边只看最低 5 bit
左边是 long 右边看 6 bit 32 的话,正好是 100000 ,最低 5 个 bit 全是 0 |
4
firemiles Oct 13, 2015 各位都没说到点子上吧,-1 右移任何位数都是-1 ,因为-1 右移后高位补上的是 1 ,所以-1 补码值不会变,一直是-1
|
5
coderHuang Oct 13, 2015
@firemiles 这是算术右移还是逻辑右移?
|
6
zealot0630 Oct 13, 2015
|
7
zealot0630 Oct 13, 2015
@firemiles 留下来参加下一轮面试
|
8
future0906 Oct 13, 2015
|
9
firemiles Oct 13, 2015
@future0906 不好意思, java 不熟,不知道还有这么个逻辑右移符号,以为就是普通的算术右移>>,有点误人子弟了。但是 java 把逻辑右移做成这种效果是想做成循环逻辑右移吗?
|
10
jwk345 Oct 13, 2015 via iPhone
|