【问题标题】:What do >> and << do in python>> 和 << 在 python 中做什么
【发布时间】:2014-02-24 04:52:46
【问题描述】:

如果我这样做 print(1 &gt;&gt; 2) 我得到 0。

如果我选择print(2 &lt;&lt; 1),我会得到 4。

如果我这样做 print(9 &lt;&lt; 3) 我得到 72

如果我这样做 print(3 &gt;&gt; 9) 我得到 0

&gt;&gt;&lt;&lt; 在 python 中做了什么?

【问题讨论】:

  • @falsetru 已修复。谢谢

标签: python python-3.x


【解决方案1】:

它们是按位移位运算符。例如,2 的二进制等效值为 00000010,因此 2

1 >> 2 是 00000001 右移 2 次,即 00000000(虽然 1 在第一次移位后从末尾掉下来,所以 1>>1 也是 0),显然是 0。

【讨论】:

    【解决方案2】:

    按位左移和按位右移。它们大致相当于加倍 (&lt;&lt;) 或减半 (&gt;&gt;),就像小数左移大致相当于乘以 10,小数右移大致相当于除以 10。

    【讨论】:

    • 谢谢。很难用谷歌搜索这些,因为 python shell 出现了很多。
    猜你喜欢
    • 2014-04-29
    • 1970-01-01
    • 2010-10-12
    • 2012-12-19
    • 2022-12-08
    • 2019-01-13
    相关资源
    最近更新 更多