今天我在python中遇到了插入操作符并尝试了它,我得到了以下输出:
>>> 8^3
11
>>> 8^4
12
>>> 8^1
9
>>> 8^0
8
>>> 7^1
6
>>> 7^2
5
>>> 7^7
0
>>> 7^8
15
>>> 9^1
8
>>> 16^1
17
>>> 15^1
14
>>>
Run Code Online (Sandbox Code Playgroud)
它似乎基于8,所以我猜是某种字节操作?我似乎找不到很多关于这个搜索网站的信息,除了它对于浮点数表现得很奇怪,是否有任何人有这个运算符的链接或者你能解释一下吗?
我试图理解C#中的二元运算符,或者一般,尤其是^ - exclusive或.
例如:
给出一组正整数.除了一个出现奇数次数的数字之外,所有数字都出现偶数次.在O(n)时间和恒定空间中找到数字.
这可以通过^完成,如下所示:对所有元素进行按位异或.最后我们得到奇数出现的数字.
它是如何工作的?
当我做:
int res = 2 ^ 3;
res = 1;
int res = 2 ^ 5;
res = 7;
int res = 2 ^ 10;
res = 8;
Run Code Online (Sandbox Code Playgroud)
实际发生了什么?还有什么其他的魔法?我可以查阅任何参考资料并了解更多信息吗?