运算符或赋值运算符的后面是啥? [复制]
Posted
技术标签:
【中文标题】运算符或赋值运算符的后面是啥? [复制]【英文标题】:what is behind the operator OR inside assignment operators? [duplicate]运算符或赋值运算符的后面是什么? [复制] 【发布时间】:2021-04-16 00:55:34 【问题描述】:我知道运算符 OR 背后的机制,但在这种情况下,为什么输出是 7 ?背后是什么?
x = int(5)
x = x | 3
print(x)
谢谢。
【问题讨论】:
|
是按位或运算符; 5 | 3 = 0b101 | 0b11 = 0b111 = 7
【参考方案1】:
or
与 |
不同。第一个是逻辑运算符,主要用于布尔值,但第二个称为按位运算符。它适用于操作数的二进制值。
5 = 101 二进制
3 = 011 二进制
按位或,即|
将对相应位(1 或 0 = 1、0 或 1 = 1、1 或 1 = 1)进行或运算,得到 111,即 7
还有按位和&
和按位不是~
,以防你好奇
【讨论】:
以上是关于运算符或赋值运算符的后面是啥? [复制]的主要内容,如果未能解决你的问题,请参考以下文章