我想在自己的时间上对X号进行异或。最简单的方法是在循环中将其与自身进行异或。还有更好的方法吗?
int t = k;
for(int i = 0; i < n; i++) k = k ^ t;
答案 0 :(得分:3)
$stats
答案 1 :(得分:0)
偶数XOR's
的数字会导致0:k ^ k = 0
数字的XOR's
的奇数会产生该数字:k ^ k ^ k = k
因此,您无需XOR the number
自己n
次检查最终结果。
事实上,你根本不需要XOR。只需检查n
是偶数还是奇数。
return (n & 1) == 0 ? 0 : k
偶数(n & 1) = 0
|当奇数(n & 1) = 1