您的位置:首页 > 其它

编写一个c函数,该函数给出一个字节中被置为1的位的个数

2017-08-06 20:07 543 查看
#include <stdio.h>
int func(char ch)
{
int i;
int n=0;

for(i=0;i<8;i++)
{
if((ch>>i)&1==1)
{
n++;
}
}
return n;
}
int main()
{
char ch;
scanf("%c",&ch);
int n = func(ch);
printf("%d\n",n);

return 0;
}

首先我们知道在内存里面所有的东西都是由0,1组成的,一个字符里面有8个字节,所有有个外循环8次;

每次对ch右移i个位置并与1取&,如果结果为1证明当前位置的最低位是1,令计数的n++就能得到最终需要的1的个数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐