1,二进制方式
>>> bin( 1)'0b1'
>>> bin( 10)'0b1010'
>>> a =0b10>>>a2
>>>
2,移位运算符( >> << ): 箭头向左就是 向左移位 反正 箭头向右 就是向右位移,移位针对的是二进制
如,十进制的1 ---> 对应的二进制是 0000 0001
1 << 1 : 向左移动1位
0000 0001 --->0000 0010( 2 )
1 << 2 : 向左移动2位
0000 0001 --->0000 0100( 4 )
2 << 2 : 2向左移动2位
0000 0010 ---> 0000 1000( 8 )
>>> 1 << 1
2
>>> 1 << 2
4
>>> 2 << 2
8
>>>
向右移动是一样的道理,先把数转成二进制,再向右移动对应的位数
>>> 1 >> 10>>> 2 >> 1
1
>>> 3 >> 1
1
>>> 6 >> 1
3
>>>
6( 0000 0110 ) ---->经过 (6 >> 1) 0000 0011( 3 )
1.与运算:A与B值均为1时,A、B与的运算结果才为1,否则为0 (运算符:&)
2.或运算:A或B值为1时,A、B或的运算结果才为1,否则为0 (运算符:|)
3.异或运算:A与B不同为1时,A、B的运算结果才为1,否则为0 (运算符:^)
4.按位翻转(按位取反):将内存中表示数字的2进制数取反0取1,1取0 (运算符:~)
>>> 1 & 1
1
>>> 1 &0
0>>> 4 & 10>>>
>>> 1 | 1
1
>>> 1 |01
>>> 4 | 1
5
>>>
>>> 1 ^ 10>>> 7 ^ 8
15
>>>
>>> ~5
-6
>>> ~20
-21
>>>