qfedu-basic-level/day7/d7.cpp

24 lines
543 B
C++

// for循环测试: 使用位运算符实现以下条件:判断一个数的二进制表示中有多少个 1
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int n = 0;
cout << "请输入一个整数: ";
cin >> n;
int count = 0; // 统计 1 的个数
int temp = 0; // 临时变量
for (int i = 0; temp < n; i++)
{
temp = 1 << i;
if ((n & temp) == temp)
count++;
}
cout << n << " 的二进制表示中有 " << count << " 个 1" << endl;
return 0;
}