方法一
//0ms
int f(uint32_t n)
{
int res = 0;
while (n)
{
res += n % 2;
n /= 2;
}
return res;
}
方法二
// 4ms
int f(uint32_t n)
{
int res = 0;
for (int i = 0; i<32; i++)
{
res += (n & 1);
n = n >> 1;
}
return res;
}
方法三
// 6ms
int f(uint32_t n)
{
int res = 0;
while (n)
{
n &= (n - 1);
res++;
}
return res;
}