24 lines
576 B
C++
24 lines
576 B
C++
// 使用位运算符实现以下条件:判断一个数的二进制表示中有多少个 1
|
|
// 例如:输入 5,输出 2 : 5 的二进制表示为 101,其中有 2 个 1
|
|
#include <iostream>
|
|
#include <bitset>
|
|
|
|
using namespace std;
|
|
|
|
int main()
|
|
{
|
|
int n;
|
|
cout << "请输入一个整数: ";
|
|
cin >> n;
|
|
|
|
int cnt = 0; // 计数器
|
|
while (n)
|
|
{
|
|
if (n & 1)
|
|
cnt++; // 如果 n 的最后一位是 1,计数器加 1
|
|
n >>= 1; // n 右移一位
|
|
}
|
|
|
|
cout << "二进制表示中有 " << cnt << " 个 1" << endl;
|
|
return 0;
|
|
} |