按位运算
把整数当作二进制运算
& | | | ~ | ^ | << | >> |
---|---|---|---|---|---|
与 | 或 | 反 | 异或 | 左移 | 右移 |
&
的两个应用- 让某一位或某些位为0:
x & 0xFE
- 取某个数中的一段:
x & 0xFF // 只要末尾一字节
- 让某一位或某些位为0:
|
- 得到某几位(想要某些位为0)
- 把两个数拼起来
^
位上相等的0, 不等的1- 相等俩数异或为0
- 对同一个量用同一个值异或两次, 等于什么都没做
- 可以用来加个密
<<
- 每个位置左移一位, 右边补零
>>
- 每个位置右移以为, 左边符号位不变, 最高位补零
位运算例子
算二进制数