java移位操作符詳解
阿新 • • 發佈:2018-11-01
左移位操作符 <<
按照操作符右側指定的位數將操作符左邊的運算元向左移動,低位補0
int i = -1;
System.out.println(Integer.toBinaryString(i));
為什麼轉二進位制後會是32個1呢?
在java記憶體中,一個int型別的變數,佔用的空間32位,取值範圍為
- 將-1向左移動1位
System.out.println(Integer.toBinaryString(i<<1));
右移位操作符 >>和>>>
* 按照操作符右側指定的位數,將操作符左邊的運算元向右移動*
右移位操作符分為有符號 和 無符號
>> 為有符號操作符
>>> 為無符號操作符
有符號操作符和無符號操作符的區別為
有符號時,符號為正,高位補0;符號為負,高位補1
無符號時,無論符號為正負,高位都補0
移位操作符與等號的組合使用
操作符左邊的值會移動由右邊的值指定的位數,再將得到的結果賦值給左邊的變數