short a = -1 ; System.out.println(Integer.toBinaryString(a)) ; a >>>= -1 ; System.out.println(Integer.toBinaryString(a)) ;//輸出a為1.無符號右移-1位是怎么移動的呢? 該怎么思考這個問題?
1 回答

慕哥6287543
TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超10個贊
一般位移的位數(shù)只取最后幾位,相當(dāng)于對a的位數(shù)取模再右移。
-1 mod 16就等于15了。
不清楚java的細(xì)節(jié),不過看起來也是這么做的。
添加回答
舉報
0/150
提交
取消