运算符后面或赋值运算符内部有什么



我知道运算符OR背后的机制,但在这种情况下,为什么输出是7?后面是什么?

x = int(5)
x = x | 3
print(x)

谢谢。

or|不同。第一个是逻辑运算符,主要用于布尔值,但第二个被称为逐位运算符。它使用操作数的二进制值。

二进制中5=101

3=二进制中的011

按位或即|将执行对应位(1或0=1,0或1=1,1或1=1(的或运算以得到111即7

还有按位和&,按位而不是~,以防你好奇

最新更新