【发布时间】:2020-04-02 00:29:44
【问题描述】:
我遇到了这行代码
for (int i = 1; i < nums.length; i++) num ^= nums[i]
^= 是什么意思?
【问题讨论】:
-
Bitwise xor 在循环外表示相同的东西。
num = num ^ nums[i]。另请参阅 XOR gate 维基百科条目。
我遇到了这行代码
for (int i = 1; i < nums.length; i++) num ^= nums[i]
^= 是什么意思?
【问题讨论】:
num = num ^ nums[i]。另请参阅 XOR gate 维基百科条目。
它是按位异或运算符。 查看this 答案以获得更深入的解释。
【讨论】:
这是一个按位 XOR 运算符,通常用于 """encryption""" 它的工作原理如下:
A|B|Y 0|0|0 0|1|1 1|0|1 1|1|0这是一个例子:
一个^ z 二进制中的“a”是 01100001 二进制中的“z”是 01111010 01100001 01111010 00011011 = 27(ASCII 中的 ESC)【讨论】: