求二进制数种1的个数
解法1:
解法2:
解法3:
相关问题:
给定两个正整数v1和v2,问把A变成B需要改变多少位?即v1和v2有多少位是不同的
int count(BYTE v1, BYTE v2)
{
BYTE v = v1 ^ v2;
int num = 0;
while(v)
{
v &= (v-1);
++num;
}
return num;
}
给定两个正整数v1和v2,问把A变成B需要改变多少位?即v1和v2有多少位是不同的
int count(BYTE v1, BYTE v2)
{
BYTE v = v1 ^ v2;
int num = 0;
while(v)
{
v &= (v-1);
++num;
}
return num;
}