程序如下:
#include<stdio.h>
int main()
{
int num;
int mask = 1;
int count = 0;
int i;
#include<stdio.h>
int main()
{
int num;
int mask = 1;
int count = 0;
int i;
printf("Enter a number:");
scanf("%d",&num);
scanf("%d",&num);
for (i = 0; i < 8; i++)
{
if ((mask & num) == 1)
count++;
num >>= 1;
}
printf("%d\n",count);
{
if ((mask & num) == 1)
count++;
num >>= 1;
}
printf("%d\n",count);
return 0;
}
}
程序解释: 程序的关键点在于mask掩码的设置,将mask置为1,转化为二进制数时最低位为1,然后与num相与,然后num右移。