#P5106. 二进制折半交换

二进制折半交换

题目描述

给定一个小于 2322^{32} 的正整数,该数可以用一个 32 位二进制数表示(不足 32 位时,在高位补 0 补足)。我们将这 32 位二进制数的前 16 位称为“高位”,后 16 位称为“低位”。

请将该数的高低位交换(即把原数的低位作为新数的高位,原数的高位作为新数的低位),并输出交换后得到的新数的十进制表示。

输入格式

输入一行,包含一个小于 2322^{32} 的正整数。

输出格式

输出一行,包含一个整数,表示高低位交换后的新数。

样例输入

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,即样例输出。