文章

11

粉丝

0

获赞

15

访问

882

头像
0和1的个数 题解:c++
P1008 华南师范大学/贵州大学机试
发布于2026年1月27日 18:45
阅读数 47

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发