方法一:判断末尾的数是否为1(需要知道位数n)
代码:
int num=0;
for(int i=1;i<=n;i++)
{
if((N>>(i-1)&1)!=0)
num++;
}
方法二:丢弃末尾的1
代码:
int num=0;
while(N)
{
N&=(N-1);//丢弃末尾的1。
num++;
}
方法一:判断末尾的数是否为1(需要知道位数n)
代码:
int num=0;
for(int i=1;i<=n;i++)
{
if((N>>(i-1)&1)!=0)
num++;
}
方法二:丢弃末尾的1
代码:
int num=0;
while(N)
{
N&=(N-1);//丢弃末尾的1。
num++;
}