python进阶(2)二进制
一、转为二进制
Shell
模式
>>> bin(100)
'0b1100100'
二、位运算
规则
位运算符 | 描述 | 规则 |
---|---|---|
& | 与 | 都为1时为1,否则为0 |
| | 或 | 都为0时为0,否则为1 |
^ | 异或 | 相同为0,否则为1 |
~ | 取反 | 1变0,0变1 |
<< | 左移 | 向左移位,低位补0 |
>> | 右移 | 向右移位,高位补0,不同编译器对负数处理不同 |
例子
Shell
模式
与
>>> bin(100)
'0b1100100'
>>> bin(99)
'0b1100011'
>>> 99&100
96
>>> bin(96)
'0b1100000'
或
>>> bin(100)
'0b1100100'
>>> bin(99)
'0b1100011'
>>> 99|100
103
>>> bin(103)
'0b1100111'
异或
>>> bin(100)
'0b1100100'
>>> bin(99)
'0b1100011'
>>> 99^100
7
>>> bin(7)
'0b0000111'
左移与右移
>>> 50<<1
100
>>> 50<<2
200
>>> 50<<3
400
>>> 175>>1
87
>>> 175>>2
43
>>> 175>>3
21
取反
>>> ~10
-11
>>> ~(-10)
9