
#include <iostream>
using namespace std;
int main() {
int a, num;
cin >> a;
while (a) {
a &= (a-1);
num++;
}
cout << num << endl;
}
该C++代码段主要展示了一个程序,它读取一个整数a,然后通过位操作计算a中所有连续非零二进制位的个数。在每次迭代中,它将a与a-1进行按位与操作,直到a变为0。变量num记录了非零位的总数。

#include <iostream>
using namespace std;
int main() {
int a, num;
cin >> a;
while (a) {
a &= (a-1);
num++;
}
cout << num << endl;
}
489

被折叠的 条评论
为什么被折叠?