我知道如果xor运算符的输入不同但是有了这些知识,我就无法理解互联网上的各种编码问题。 像这样:
https://www.hackerearth.com/february-easy-16/algorithm/utkarsh-and-sub-array-xor-february-easy/
https://www.hackerrank.com/contests/hourrank-5/challenges/xor-se
请帮我理解这些。 顺便说一句,我使用c ++进行编码。解释如何在这些中使用XOR运算符就足够了,无需解释完整的问题。
答案 0 :(得分:2)
加法模2相当于XOR。
0 XOR 0 = 0
0 XOR 1 = 1
1 XOR 0 = 1
1 XOR 1 = 0
等于
( 0 + 0 ) mod 2 = 0
( 0 + 1 ) mod 2 = 1
( 1 + 0 ) mod 2 = 1
( 1 + 1 ) mod 2 = 0
现在你可以使用mod解决XOR问题了。
答案 1 :(得分:0)
在C / C ++和许多其他语言中没有逻辑opertor xor,只是按位。它以二进制形式对每个操作数的相应位分别工作。