python位操作问题

时间:2016-05-11 09:53:32

标签: python bit-manipulation bitwise-operators

我遇到了按位操作的问题,并且想知道它是否是一个操作员,它总是给我一个0.我举了一个例子:

我想要一个运营商'?'其中:

0b000 ? 0b100 = 0b000
0b100 ? 0b100 = 0b000

谢谢!

1 个答案:

答案 0 :(得分:0)

没有?位运算符只返回0

这些是 pythons逐位运算符

  1. x<< y 返回x,其中位向左移位y位(右侧的新位为零)。这是一样的 将x乘以2 ** y。
  2. x>> y 返回x,其位数向右移动了y个位置。这与//'x by 2 ** y相同。
  3. x& y 是“按位和”。如果y的x AND的相应位为1,则输出的每个位为1,否则为0。
  4. x | y 是“按位还是”。如果y的x AND的相应位为0,则输出的每个位为0,否则为1。
  5. ~x 返回x的补码 - 将每个1切换为0得到的数字,将每个0切换为1.这与-x-1相同。
  6. x ^ y 是否为“按位异或”。如果y中的该位为0,则输出的每个位与x中的相应位相同 如果y中的位为1,则它是x中位的补码。
  7. 来源Bitwise operators