这道题其实挺简单的就是输入相应的十进制数,然后输出二进制中1的个数。
#include <stdio.h>
int NumberOf(int n)
{
int count=0;
int flag=1;
while(flag)
{
if(n&flag)
{
count++;
}
flag=flag<<1; //这里是位运算
}
return count;
}
int main()
{
int n=1024;
int ret=NumberOf(n);
printf("%d\n",ret); //返回1
}