按位操作24 ^ 15 = 23

时间:2018-09-17 09:22:33

标签: python-3.x

我尝试了“异或”

In [124]: 3 ^ 6
Out[124]: 5

In [125]: 2 ^ 7
Out[125]: 5

In [126]: 24 ^ 15
Out[126]: 23

我对结果感到很困惑,结果似乎没有原则,
请提供任何提示以了解它吗?

1 个答案:

答案 0 :(得分:1)

按位XOR(^)取两位,并检查它们是否不同(例如,一位为0,另一位为1)。如果是这种情况,则返回1,否则返回0。因此,最好以二进制表示形式写数字,并对每个数字(从左到右)进行计算:

  011    -->   3
^ 110    --> ^ 6
-----        ---
  101    -->   5