版本是 jdk8u60, 求指教.

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 |