#2253. 高低位交换

高低位交换

题目描述

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

例如,数13145201314520用二进制表示为000000000001010000001110110110000000 0000 0001 0100 0000 1110 1101 1000(添加了1111个前导00补足为3232位),其中前1616位为高位,即00000000000101000000 0000 0001 0100;后1616位为低位,即00001110110110000000 1110 1101 1000。将它的高低位进行交换,我们得到了一个新的二进制数000011101101100000000000000101000000 1110 1101 1000 0000 0000 0001 0100。它即是十进制的249036820249036820

输入格式

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

接下来TT行,每行一个小于2322^{32}的正整数aia_i

输出格式

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

样例

1
1314520
249036820
1
64534643
3094545368

数据范围

  • 0<T1000<T\leqslant 100
  • 0<ai42949672960<a_i\leqslant4294967296

来源

洛谷P1100