比特位数运算(计算二进制数中位为1的个数,仅限于非负数)
int bitcnt(int x){
return (x==0)?0:bitcnt(x>>1)+(x&1);
}
用异或判断两个数bit位数的不同位数
bitcount(a^b)
比特位数运算(计算二进制数中位为1的个数,仅限于非负数)
int bitcnt(int x){
return (x==0)?0:bitcnt(x>>1)+(x&1);
}
用异或判断两个数bit位数的不同位数
bitcount(a^b)