解题思路:
(1)因为左移会改变数的符号,因此这里采用左移
(2)当末位是1时,不能被2整除,此时可以利用这个特性来计数
#include <iostream>
using std::cin;
using std::cout;
using std::endl;
int main() {
int n;
cin>>n;
int count = 0;
while(n!=0) {
if(n%2!=0) count++;
n=n>>1;
}
cout<<count<<endl;
return 0;
}