#P5106. 二进制折半交换
二进制折半交换
题目描述
给定一个小于 的正整数,该数可以用一个 32 位二进制数表示(不足 32 位时,在高位补 0 补足)。我们将这 32 位二进制数的前 16 位称为“高位”,后 16 位称为“低位”。
请将该数的高低位交换(即把原数的低位作为新数的高位,原数的高位作为新数的低位),并输出交换后得到的新数的十进制表示。
输入格式
输入一行,包含一个小于 的正整数。
输出格式
输出一行,包含一个整数,表示高低位交换后的新数。
样例输入
1314520
样例输出
249036820
样例解释
数 1314520 的 32 位二进制表示为:
0000 0000 0001 0100 0000 1110 1101 1000
- 前 16 位(高位):
0000 0000 0001 0100 - 后 16 位(低位):
0000 1110 1101 1000
交换高低位后得到新的 32 位二进制数:
0000 1110 1101 1000 0000 0000 0001 0100
该二进制数对应的十进制数为 249036820,即样例输出。