整数的二进制形式中1的个数

输入描述:

输入一个整数。

输出描述:

计算整数二进制中1的个数。

#include<iostream>
using namespace std;
int main()
{
    int n;
    while(cin>>n)
    {
        int count=0;
        while(n>0)
        {
            if(n&1) //a和1做二进制的且运算,看a的最后一位是不是1,是1返回1,否则返回0
                count++;
            n >>= 1; //等价于a=a>>1,将a右移一位,即将低位抛弃,高位补零
        }
        cout << count << endl;
    }
    return 0;
}

例如:输入5 ,5的二进制为101,输出2

 

C++11

posted @ 2020-04-19 15:06  程序虫  阅读(153)  评论(0编辑  收藏  举报