【问题标题】:What is the difference between "|" and "+"? [duplicate]"|" 和有什么不一样和“+”? [复制]
【发布时间】:2022-01-15 09:11:10
【问题描述】:

我最近一直在做代码战挑战,偶然发现了这个:使用管道符号添加两个项目。我在我的 python 环境中尝试过这个,很好奇它的作用以及它与 + 符号有何不同。

print(5 | 2)

这当然输出到 7。在我正在查看的代码战问题中,其中一个解决方案使用它来将两个集合相加。这是什么意思?

【问题讨论】:

    标签: python addition


    【解决方案1】:

    | 是按位或。在你的例子中,它发生了:

    0101
    0010 |
    ---
    0111
    

    二进制是 7。

    如果要计算,例如5 | 9。你会得到 13,而不是 14,因为 | 不是 +

    附注:如果您将| 应用于按位与返回 0 的两个数字,则加法和按位或返回相同的结果。

    对于 2 和 5,2 & 5 = 0,所以 +| 返回相同的结果。

    【讨论】:

    • 值得注意的是,这种行为也是上述代码战问题中的集合所发生的情况。例如。 {1,2} | {3} == {1,2,3}
    猜你喜欢
    • 2018-04-25
    • 1970-01-01
    • 2014-07-24
    • 2014-02-26
    • 1970-01-01
    • 2023-03-22
    • 2014-09-13
    • 2012-05-27
    • 1970-01-01
    相关资源
    最近更新 更多