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;
|
||
} |