文章
11
粉丝
0
获赞
15
访问
882
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n;
cin >> n;
vector<int> arr(32, 0); // 初始化32位,默认0(高位补0)
// 处理32位有符号整数的补码,提取每一位
for (int i = 0; i < 32; ++i) {
arr[i] = (n >> i) & 1; // 右移i位后与1按位与,提取第i位(0或1)
}
int count0 = 0, count1 = 0;
for (int i = 0; i < 32; ++i) {
if (arr[i] == 0) {
count0++;
} else {
count1++;
}
}
cout << "count0=" << count0 << " count1=" << count1 << endl;
return 0;
}
登录后发布评论
暂无评论,来抢沙发