【问题标题】:What does >>= mean in python? [duplicate]>>= 在 python 中是什么意思? [复制]
【发布时间】:2019-12-17 21:40:07
【问题描述】:

这里发生了什么?

x = 5

x >>= 3

print(x)

输出为 0,我不明白为什么。

【问题讨论】:

  • x 右移 3 位并分配回x>> 是按位右移操作。它是类似于x =+ 2 的简写,意思是x = x + 2
  • 就像 x += 3x = x + 3 一样。然后你有一个按位移位 >> 运算符,而不是 +。这条评论+欺骗链接应该为你解释一切。
  • @ParitoshSingh 这让我很困惑,谢谢你的描述。

标签: python syntax operator-keyword


【解决方案1】:

这是 x = x >> 3 的简写。由于 5 >> 3 为 0,因此结果为 0。

运算符>>是右移:

>>> bin(5)
'0b101'
>>> bin(5 >> 1)
'0b10'
>>> bin(5 >> 2)
'0b1'
>>> bin(5 >> 3)
'0b0'

【讨论】:

    【解决方案2】:

    这基本上是一个右移运算符。 数据的位模式可以右移指定数量的位置

    5 位 = 101

    101 >> 3. 它将返回零。

    【讨论】:

      猜你喜欢
      • 2015-02-13
      • 2019-04-15
      • 2020-03-26
      • 2011-12-23
      • 2013-01-30
      • 1970-01-01
      • 2020-10-27
      • 2015-07-15
      • 2018-07-17
      相关资源
      最近更新 更多