描述
给出一个小于2^32的正整数a,将其低16位和高16位交换后输出(用十进制表示的正整数)。
样例
输入
1314520
输出
249036820
题解
#include<iostream>
using namespace std;
int main()
{
long int a,b,c,d;//32位有符号
cin >> a;
b = (a & 0xffff0000) >> 16;//取其高位,并右移16位。
c = (a & 0x0000ffff) << 16;//取其低位,并左移16位。
d = b + c;//高低位相加
cout << d << endl;
return 0;
}