计算位段里面1的个数是奇数还是偶数:
size_t odd_or_even(size_t x) { size_t ret = 0; while(x) { ret ^= x; x >>= 1; } return ret & 1;}
返回1表示奇数个"1”,0表示偶数个"1"