240394 - 高低位交换

题目描述

给出一个小于2^{32}的正整数。这个数可以用一个32位的二进制数表示(不足32位用0补足)。我们称这个二进制数的前16位为“高位”,后16位为“低位”。将它的高低位交换,我们可以得到一个新的数。试问这个新的数是多少(用十进制表示)。

例如,数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

输入

第一行一个正整数T,表示有T组数据

接下来T行,每行一个小于2^{32}的正整数a_i

输出

T行,每行一个整数(将新的数输出)

样例

输入

1
1314520

输出

249036820

输入

1
64534643

输出

3094545368
说明

数据范围

  • 0
  • 0

    来源

    洛谷P1100

来源

一本通编程

标签
题目参数
时间限制 1 秒
内存限制 128 MB
提交次数 79
通过人数 34
金币数量 1 枚
难度 入门


上一题 下一题