作者在 2011-03-07 13:04:59 发布以下内容
下面的程序是计算出一个十进制数的二进制位中有多少个1:
#include <stdio.h>
#include <stdlib.h>
int func (int x)
{
int countx = 0;
while ( x )
{
countx ++;
x = x&(x-1); //注意这里
}
return countx;
}
int main(int argc, char *argv[])
{
int a;
scanf("%d",&a);
printf("%d\n",func(a));
system("pause");
return 0;
}
#include <stdlib.h>
int func (int x)
{
int countx = 0;
while ( x )
{
countx ++;
x = x&(x-1); //注意这里
}
return countx;
}
int main(int argc, char *argv[])
{
int a;
scanf("%d",&a);
printf("%d\n",func(a));
system("pause");
return 0;
}