描述:
作业内容
写一个函数返回参数二进制中 1 的个数。
比如: 15 0000 1111 4 个 1
思路:
利用异或,使二进制数中与1异或为0的数记录下来。
代码如下:
int main(){
int m = 0;
int count = 0;
printf("请输入:\n");
scanf("%d", &m);
for (int i = 31; i >= 0; i--){
if ((((m >> i) & 1)^1)==0){
count++;
}
}
printf("二进制中1的个数为:%d\n", count);
system("pause");
return 0;
}
运行结果如下: