文章

5

粉丝

0

获赞

3

访问

154

头像
位运算 题解:
P1906 华东师范大学2022年机试
发布于2026年1月7日 19:03
阅读数 24

#include<bits/stdc++.h>
using namespace std;

int main()
{
    int x, w[100] = {0}, k = 0, i, j;
    cin >> x >> i >> j;
    
    // 关键修改1:处理负数
    unsigned int temp = (unsigned int)x;

    for (k = 0; k < 32; k++)
    {
        w[k] = temp % 2;
        temp /= 2;
    }
    
    swap(w[i], w[j]);
    
    int num = 0;

    for (int n = 31; n >= 0; n--)
    {
        num = num * 2 + w[n]; 
    }
    
    cout << num << endl;
    return 0;
}

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发