給出一個小於longint範圍的正整數。這個數可以用一個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。
輸入描述 Input Description
一個小於longword範圍的正整數輸出描述 Output Description
將新的數輸出
樣例輸入 Sample Input
1樣例輸出 Sample Output
65536
位運算
代碼:
var
n,m:longint;
begin
readln(n);
writeln(swap(n) and (1 shl 32-1));
end.