为什么python中的管道符号会添加到整数?

时间:2015-11-02 05:06:30

标签: python pipe

当我在python shell中执行以下操作时!

>> print 2 | 4
>> 6

为什么python中的管道符号会添加到整数?

3 个答案:

答案 0 :(得分:5)

它不是管道符号,而是按位OR

2 in binary:    10
4 in binary:   100
__________________
with or:       110  (1 or 0: 1, 1 or 0: 1, 0 or 0: 0)

二进制110是小数点后6位。

答案 1 :(得分:2)

它没有添加。这是一个按位OR。 2和4恰好是二进制的010100,所以它们的和它们的OR都是110(6)。

https://wiki.python.org/moin/BitwiseOperators

的更多信息和示例

答案 2 :(得分:1)

管道符号代表python中的bitwise OR。 自bin(2) == '0b10'bin(4) == '0b100'bin(6) = '0b110'以来,您可以看到2 | 4实际上执行了bitwise OR