许多解决方案建议使用右移异或,如此处所述
def findParity(x):
x = x ^ (x >> 16);
x = x ^ (x >> 8);
x = x ^ (x >> 4);
x = x ^ (x >> 2);
x = x ^ (x >> 1);
return x & 1;
但他们假设 32 或 64 位或某个 2^n 位整数。在 python 中,整数可以有任意位数。例如 i = 7,只有 3 位。
i = 7
print(len(bin(i)) - 2)
关于如何使用异或和右移计算任意位数的奇偶校验有什么建议吗?
偶然的你
相关分类