二進制之Java位運算(一)
1. 位運算符
下表列出了位運算符的基本運算,假設整數變量A的值為60和變量B的值為13:
(表格來自菜鳥教程)
| 操作符 | 描述 | 例子 |
|---|---|---|
| & | 如果相對應位都是1,則結果為1,否則為0 | (A&B),得到12,即0000 1100 |
| | | 如果相對應位都是0,則結果為0,否則為1 | (A | B)得到61,即 0011 1101 |
| ^ | 如果相對應位值相同,則結果為0,否則為1 | (A ^ B)得到49,即 0011 0001 |
| ? | 按位補運算符翻轉操作數的每一位,即0變成1,1變成0。 | (?A)得到-61,即1100 0011 |
| << | 按位左移運算符。左操作數按位左移右操作數指定的位數。 | A << 2得到240,即 1111 0000 |
| >> | 按位右移運算符。左操作數按位右移右操作數指定的位數。 | A >> 2得到15即 1111 |
| >>> | 按位右移補零操作符。左操作數的值按右操作數指定的位數右移,移動得到的空位以零填充。 | A>>>2得到15即0000 1111 |
2. 優點
- 在特定情況下, 計算方便, 速度塊, 被支持面廣,
3. 計算
(慕課網筆記)











浙公網安備 33010602011771號