python 中 & (按位与) 和 | (按位或)
python 中 & (按位与) 和 | (按位或) 是把 2个数据转为二进制然后在做相应的计算
下面详细说下
a = 10 # 10的二进制为1010
b = 18 # 18的二进制为10010
"""
按位与运算符:
& : 如果两个相应位都为1,则该位的结果为1,否则为0
01010
10010
计算的结果为:
00010
把二进制00010转10进制结果为2,所以下面的打印结果应该为2
"""
print(a & b) # 打印结果为2
"""
按位或运算符:
| : 只要对应的二个二进位有一个为1时,结果位就为1
01010
10010
计算的结果为:
11010
把二进制11010转10进制结果为26,所以下面的打印结果应该为26
"""
print(a | b) # 打印结果为26
"""
按位异或运算符:
^ : 当两对应的二进位相异时,结果为1
01010
10010
计算的结果为:
11000
把二进制11000转10进制结果为24,所以下面的打印结果应该为24
"""
print(a ^ b) # 打印结果为24
"""
按位取反运算符:
~ : 对数据的每个二进制位取反,即把1变为0,把0变为1
01010
计算的结果为:
10101
把二进制10101转10进制结果为-11,所以下面的打印结果应该为-11
"""
print(~a) # 打印结果为-11
还没有评论,来说两句吧...