>Description
给出一个小于2^32的正整数。这个数可以用一个32位的二进制数表示(不足32位用0补足)。我们称这个二进制数的前16位为“高位”,后16位为“低位”。将它的高低位交换,我们可以得到一个新的数。试问这个新的数是多少(用十进制表示)。
>Input
一个小于2^32 的正整数
>Output
将新的数输出
>Sample Input
1314520
>Sample Output
249036820
>解题思路
位运算知识要熟。
>代码
#include<iostream>
#include<cstdio>
using namespace std;
long long a;
int main()
{
scanf("%lld",&a);
printf("%lld",((a&0xffff)<<16)|(a>>16));
return 0;
}