题目://写一个函数求unsigned int型变量x在内存中二进制1的个数
思路://先把num除2取余,余数为1,count++;再让num=num/2(取整),循环,直到num=0。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<windows.h>
int main(){
unsigned int num = 0;
int count = 0;
printf("输入一个整数:");
scanf("%d", &num);
while (num != 0){
if (num % 2 == 1){ //先取余
count++;
}
num = num / 2; //再取整
}
printf("num中的1的个数为%d个\n", count);
system("pause");
return 0;
}
运行结果: