位运算
==============
& 按位与
| 按位或
^ 按位异或
~ 取反
<< 左移位
>> 右移位A = 0011 1100
(~A)= 1100 0011
操作符 描述 例子
& | 如果相对应位都是1,则结果为1,否则为0 | A = 0011 1100 B = 0000 1101 (A&B)= 0000 1100 |
| | 如果相对应位都是0,则结果为0,否则为1 | A = 0011 1100 B = 0000 1101 (A|B)= 0011 1101 |
^ | 如果相对应位值相同,则结果为0,否则为1 | A = 0011 1100 B = 0000 1101 (A^B)= 0011 0001 |
~ | 按位补运算符翻转操作数的每一位,即0变成1,1变成0 | A = 0011 1100 (~A)= 1100 0011 |
<< | 按位左移运算符。左操作数按位左移右操作数指定的位数 | A = 0011 1100 A<<2 = 1111 0000 |
>> | 按位右移运算符。左操作数按位右移右操作数指定的位数 | A = 0011 1100 A>> 2 = 0000 1111 |