Python的数学运算问题

a = 20
b = a | 3
a &= 7
print(b ,end=",")
print(a)
A
4,23

B
6.66667,4

C
4,23

D
23,4
我知道答案是23,4,IDE里运算一下就出来了,只是不明白为什么,这两个运算符(&和|)不是集合运算符吗,用到数字运算是怎么算的

&和|不是集合运算,是位运算。打开windows计算器,可以转换10进制与2进制
&是相同为都为1结果才为1,|是任一为1则结果为1.
20|3:

00010100
00000011
------------
00010111 --> 23
20&7:
00010100
00000111
----------
00000100 --> 4
温馨提示:答案为网友推荐,仅供参考
相似回答