代码
#include <stdio.h>
#define BIT7 (0x1<<7)
int calculate(unsigned char c)
{
int count = 0;
int i = 0;
unsigned char comp = BIT7;
for(i = 0;i<sizeof(c)*8;i++)
{
if((c&comp)!= 0)
{
count++;
}
comp = comp>>1;
}
return count;
}
int main()
{
unsigned char c = 0;
int count = 0;
scanf("%d",&c); //97
count = calculate(c);
printf("%d\n",count); //3
return 0;
}
本文介绍了一个简单的C语言程序,该程序通过位操作来计算给定字符的二进制表示中1的数量。通过定义宏和使用位掩码,程序遍历了输入字符的所有位并计算出1的总数。
8857

被折叠的 条评论
为什么被折叠?



