示例代码

#include <iostream>
using namespace std;

int fun(int n){
	int ans=0;
	while(n){
		ans++;
		n=n&(n-1);
	}
	return ans;
}

int main() {
	int num;
	cin>>num;
	cout <<num<<"的二进制中有" <<fun(num)<<"个1" << endl;
	system("pause");
	return 0;
}

效果展示

C++---求一个数的二进制形式下有多少个1_ios