/********************************
编写一个函数。求一个数的二进制表示中的1位的个数,
例如9的二进制表示位1001,1位的个数为2
*********************************/
#include <iostream>
using namespace std;
int main()
{
int n;
int tmp[32] = {0} ;
int i =0;
int j =0;
int count = 0;
cout << "please input a number :" << endl;
cin >> n;
//输出二进数 //也可用位与的方法取出二进制
while(n)
{
tmp[i] = n % 2;
n = n/2;
cout << "tmp[i]: " << tmp[i] << endl;
i++;
}
for(j = 0; j < i; j++) //查看二进制
{
cout << tmp[j] ;
}
cout << endl;
//计算二进制中的1的个数
for(j = 0; j < i; j++)
{
if(1 == tmp[j])
count++;
else
;
}
cout << "二进制中的1的个数: " << count << endl;
return 0;
}