什么是^&引用;用python做什么
我正在努力寻找有关^python的功能的文档 前 6^1= 七, 6^2= 四, 6^3= 五, 6^4= 二, 6^5= 三, 6^6= 0 帮助?这是一种常用的方法,通常称为“xor”。对于操作数中的每对对应位,如果操作数位相同,则结果中的对应位为0,如果操作数位不同,则结果中的对应位为1 考虑什么是^&引用;用python做什么,python,Python,我正在努力寻找有关^python的功能的文档 前 6^1= 七, 6^2= 四, 6^3= 五, 6^4= 二, 6^5= 三, 6^6= 0 帮助?这是一种常用的方法,通常称为“xor”。对于操作数中的每对对应位,如果操作数位相同,则结果中的对应位为0,如果操作数位不同,则结果中的对应位为1 考虑6^4: 6 = 0b0110 4 = 0b0100 6^4 = 0b0010 = 2 正如您所看到的,两个数字中的最低有效位(右边的“一”处)都是零。因此,答案中最低有效位为零。下一位在第
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)
有关XOR的更多信息,请访问Python.org上的文档:
我不是Python程序员,但这显然是一个按位异或。@PhilipKendall只有在您以前见过按位异或的情况下,这才是明显的。@PhilipKendall对我来说一点也不明显,尽管我是学习Python的c/c++/java程序员。@randomstring:。。但是在C、C++和java中也是一样的。诚然,可以避免过多地使用它。顺便说一句,有关Python语法的帮助,您可以在控制台上键入
help(“^”)
等。@DSM是的,只是上下文阻止了我建立连接。当我意识到这是什么的时候,我觉得自己很傻。我在想这是一种特殊的函数式编程,当我意识到它是xor时,我笑了。感谢您对python帮助的帮助,这不是很有帮助