输入描述:
输入一个整数。
输出描述:
计算整数二进制中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