void bitcount1(int x)
{
printf("%d ",x);
int i = 0;
while(x) //位运算
{
x &= x-1;
i++;
}
printf("%d\n",i);
}
void bitcount2(int x)
{
printf("%d ",x);
int i = 0;
while(x) //取余
{
if(x % 2 ) i++;
x /= 2;
}
printf("%d\n",i);
}
void bitcount3(int x)
{
printf("%d ",x);
int i = 0;
while(x) //位运算
{
if(x & 01 ) i++;
x = x>>1;
}
printf("%d\n",i);
}
{
printf("%d ",x);
int i = 0;
while(x) //位运算
{
x &= x-1;
i++;
}
printf("%d\n",i);
}
void bitcount2(int x)
{
printf("%d ",x);
int i = 0;
while(x) //取余
{
if(x % 2 ) i++;
x /= 2;
}
printf("%d\n",i);
}
void bitcount3(int x)
{
printf("%d ",x);
int i = 0;
while(x) //位运算
{
if(x & 01 ) i++;
x = x>>1;
}
printf("%d\n",i);
}