print(2&3) 打印 2 。但想了解它是如何工作的?

print(2&3)

输出:2
print(7&8)

输出:0
print("a"&"b")

Exception: TypeError: unsupported operand type(s) for &: 'str' and 'str'

请有人帮助了解 & 在 python 中的工作方式。

最佳答案

&bitwise and operator : 的每一位都和 相同的等级 被评估,如果 两个 位都是 1,那么该等级 的结果 是 1

等级是数字的二进制表示中从右到左的位置。

0010
^^^^
||||
|||+-- rank 0
||+--- rank 1
|+---- rank 2
+----- rank 3
2 & 3 可以被翻译成二进制的 0010 & 0011 :
  0010
& 0011
------
  0010

结果是 0010,十进制为 2
7 & 8 可以被翻译成二进制的 0111 & 1000 :
  0111
& 1000
------
  0000

结果是 0000,十进制为 0

关于python - &符号如何在打印功能中工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56967302/

10-10 16:13