松鼠的窝 2018-02-26
按位运算符是把数字看作二进制来进行计算的。用的不太多,简单了解。
下表中变量 a 为 60,b 为 13二进制格式如下:
a = 0011 1100
b = 0000 1101
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a = 1100 0011
示例1:
print(102 & 210) #对应的二进制数都是1结果才为1,有一个是0就是0
示例2:
print(102 | 210) #对应的二进制数有一个是1结果才是1
示例3:
print(102 ^ 210) #对应的二进制数一样为0,不一样为1
示例4:
print(~102) #位非运算 一个数的位非值是其值+1后取反,如~101=-102
示例5:
print(102 >> 2) #右移运算符:把当前数转换为二进制后整体向右移动,左边用零补
示例6:
print(102 << 2) #左移运算符:把当前数转换为二进制后整体向左移动,右边用零补