[华为OJ--C++]015-求int型数据在内存中存储时1的个数

2/22/2017来源:ASP.NET技巧人气:488

题目描述:输入一个int型数据,计算出该int型数据在内存中存储时1的个数。

输入描述:输入一个整数(int类型)

输出描述:这个数转换成2进制后,输出1的个数

输入例子:5

输出例子:2

算法实现:

#include<iostream>  
using namespace std;  
  
//************************************************    
// * Author: 赵志乾    
// * Date: 2017-2-19     
// * Declaration: All Rigths Reserved !!!    
//***********************************************/  
  
int main()  
{  
    int indata;  
    cin>>indata;  
  
	int ret=0;
	while(indata!=0)
	{
		ret++;
		indata=indata&(indata-1);
	}
  
    cout<<ret<<endl;  
    return 0;  
}