当前位置 博文首页 > zrh_CSDN的博客:求int型正整数在内存中存储时1的个数

    zrh_CSDN的博客:求int型正整数在内存中存储时1的个数

    作者:[db:作者] 时间:2021-09-20 13:57

    输入一个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;
    }

    cs