题目描述:
解题思路:
使用位运算.右移并判断最低位是否为一.但需要注意一般的int类型不行,要使用unsigned int.
题解:
#include <bits/stdc++.h>
using namespace std;
int main()
{
unsigned int x;cin >> x
int ans = 0;
while(x)
{
if(x & 1)ans++;
x >>= 1;
}
cout << ans;
return 0;
}