1. 程式人生 > >Java右移運算符>>和>>>

Java右移運算符>>和>>>

post 位運算 ava 運算符 blog nbsp 相同 ron log

java提供兩種右移運算符,屬於位運算符。位運算符用來對二進制位進行操作。 >> :算術右移運算符,也稱帶符號右移。用最高位填充移位後左側的空位。 >>>:邏輯右移運算符,也稱無符號右移。只對位進行操作,用0填充左側的空位。 表達式為: r = e1 >> e2; r = e1 >>> e2; 表示把數e1向右移動e2位。 運算規則: >> :按二進制形式把所有的數字向右移動對應位數,低位移出(舍棄),高位的空位補符號位,即正數補零,負數補1。符號位不變。 >>>:按二進制形式把所有的數字向右移動對應位數,低位移出(舍棄),高位的空位補零。對於正數來說和帶符號右移相同,對於負數來說不同。 按上一篇,-1在32位二進制中表示為: 11111111 11111111 11111111 11111111 -1>>1:按位右移,符號位不變,仍舊得到
11111111 11111111 11111111 11111111 因此值仍為-1 而-1>>>1的結果為 01111111 11111111 11111111 11111111

Java右移運算符>>和>>>