当前位置 博文首页 > zrh_CSDN的博客:求int型正整数在内存中存储时1的个数
输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数。
输入描述:输入一个整数(int类型)
输出描述:这个数转换成2进制后,输出1的个数
方法一:
#include<iostream>
#include<string>
using namespace std;
int main()
{
? ? int n;
? ? int count=0;
? ? while(cin>>n)
? ? {
? ? ? ? int num=1;
? ? ? ? for(int i=0;i<32;i++)
? ? ? ? {
? ? ? ? ? ? if(n&num)
? ? ? ? ? ? ? ? count++;
? ? ? ? ? ? num=num<<1;
? ? ? ? }
? ? ? ? cout<<count;
? ? }
? ? return 0;
}
方法二:
#include<iostream>
#include<string>
using namespace std;
int main()
{
? ? int n;
? ? int count=0;
? ? while(cin>>n)
? ? {
? ? ? ? while(n)
? ? ? ? {
? ? ? ? ? ? count++;
? ? ? ? ? ? n=n&(n-1);
? ? ? ? }
? ? ? ? cout<<count;
? ? }
? ? return 0;
}