-2

我正在努力寻找有关 ^ 在 python 中的作用的文档。

前任。

6^1 = 7

6^2 = 4

6^3 = 5

6^4 = 2

6^5 = 3

6^6 = 0

帮助?

4

2 回答 2

8

它是按位异或运算符,通常称为“xor”。对于操作数中的每一对对应位,如果操作数位相同,则结果中的对应位为 0,如果它们不同,则结果中的对应位为 1。

考虑6^4

  6 = 0b0110
  4 = 0b0100
6^4 = 0b0010 = 2

如您所见,两个数字中最不重要的位(右边的那个,在“一个”的位置)都是零。因此,答案中的最低有效位为零。下一位1在第一个操作数和0第二个操作数中,所以结果是1.

XOR 有一些有趣的特性:

a^b == b^a  # xor is commutative
a^(b^c) == (a^b)^c   # xor is associative
(a^b)^b == a  # xor is reversible
0^a == a   # 0 is the identity value
a^a == 0   # xor yourself and you go away.

您可以使用 xor 更改值的奇数:

prev_even = odd ^ 1 (2 = 3 ^ 1)
next_odd = even ^ 1 (3 = 2 ^ 1)
于 2013-09-04T21:33:48.227 回答
0

有关 XOR 的更多信息,请在此处对 Python.org 上的文档做出反应:

http://docs.python.org/2/library/operator.html

于 2013-09-04T21:35:41.993 回答