把一个数减去一在和原来的数进行与运算,得到的结果相当于是吧整数最右边的1变成了0,这样能做几次,就代表有多少个1.
代码:
int number(int n)
{
int count=0;
whilr(n)
{
++count;;
n=(n-1)&n;
}
return count;
}
把一个数减去一在和原来的数进行与运算,得到的结果相当于是吧整数最右边的1变成了0,这样能做几次,就代表有多少个1.
代码:
int number(int n)
{
int count=0;
whilr(n)
{
++count;;
n=(n-1)&n;
}
return count;
}