P1100. 高低位交换

考点

  • 位运算

题解

1
2
3
4
5
6
7
8
9
#include <bits/stdc++.h>
using namespace std;

int main() {
unsigned int num, a = 0xffff0000, b = 0x0000ffff;
cin >> num;
cout << (((num & a) >> 16) | ((num & b) << 16));
return 0;
}

思路

取高低16位后交换位置即可