1. 程式人生 > >二進制位運算

二進制位運算

thead 二進制 head log ade 如果 左移 pos mar

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. 優點

二進制位運算