24 lines
543 B
C++
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;
|
|
} |