1、用2整除十进制整数,得到一个商和余数;再用2去除商,又会得到一个商和余数,如此重复,直到商为小于1时为止,然后把先得到余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,以此排列起来。
#include <iostream>
using namespace std;
int main()
{
// 定义一个输入的整型值,一个count数据用于计数二进制的1值
int a = 0;
int count = 0;
cin >> a;
while(a > 0)
{
count += a % 2;// 余数为1 ,则二进制那一位为1;余数为0,则二进制那一位为0;
a = a / 2;
}
cout << count << endl;
return 0;
}