题目描述
在一个神秘的数字世界里,存在着一种特殊的 32 位密码数字。每个密码数字都能以 32 位二进制形式呈现(若不足 32 位,需在前面补 0 凑齐)。现在,我们把这 32 位二进制数字的前 16 位称作 “密钥前段”,后 16 位称作 “密钥后段” 。有一种神奇的转换规则,当我们将密码数字的 “密钥前段” 与 “密钥后段” 相互交换后,就能得到一个全新的密码数字。现在请你编写程序,根据给定的一个小于 2^32 的密码数字,求出经过上述交换规则后所得到的新密码数字(以十进制形式输出)。
例如,给定密码数字 1314520,它的二进制表示为 0000 0000 0001 0100 0000 1110 1101 1000(前面添加了 11 个 0 以满足 32 位)。这里面,前 16 位的 “密钥前段” 是 0000 0000 0001 0100 ,后 16 位的 “密钥后段” 是 0000 1110 1101 1000 。经过交换后,得到新的二进制数字 0000 1110 1101 1000 0000 0000 0001 0100 ,将其转换为十进制,这个新的密码数字就是 249036820 。
输入格式:
一个小于2^32的正整数
输出格式:
输出经过 “密钥前段” 与 “密钥后段” 交换规则后得到的新密码数字(十进制形式)。
输入样例#1:
986227
输出样例#1:
208863247