有人能解释一下这个函数的作用吗?我理解"drop the lowest set of a bit of x"部分,也就是第5行,但是我不明白 "result ^= 1;" 这行代码的作用。当决定一个单词的奇偶性时,result不应该计算0和1吗?
short Parity_of_word(unsigned long long x) {
short result = 0;
while(x) {
result ^= 1;
x &= (x-1);
}
return result;
}
^= 1
只是切换最低有效位。在这里,它的作用与声明bool result = false;
并将result ^= 1;
替换为result = !result;
相同。 - dxiv