符号 | 描述 | 运算规则 by MoreWindows |
& | 与 | 两个位都为1时,结果才为1 (统计奇数) 全1为1 |
| | 或 | 两个位都为0时,结果才为0 (统计偶数) 全0为0 |
^ | 异或 | 两个位相同为0,相异为1 (常用统计不相同数) 不同为1 |
~ | 取反 | 0变1,1变0 |
<< | 左移 | 各二进位全部左移若干位,高位丢弃,低位补0 |
>> | 右移 | 各二进位全部右移若干位,对无符号数,高位补0,有符号数,各编译器处理方法不一样,有的补符号位(算术右移),有的补0(逻辑右移)
|
位操作:一般是将数字化为二进制数后进行操作。
1)判断奇偶 (二进制数以1结尾是奇数,以0结尾是偶数)
for i in range(100): #打印所有奇数
if i&1==1:
print(i)
2)消去最后一位1
x & (x - 1)
3)找出出现一次的数
a ^ b ^ b = a