Vijos P1201 高低位交換

2021-06-27 22:40:31 字數 839 閱讀 3158

p1201高低位交換

accepted

標籤:模擬

給出乙個小於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。

乙個小於2^32的正整數

將新的數輸出

1314520
249036820

各個測試點1s

cqbz noip club

遇到題目的時候不要想到什麼馬上就去寫!有時候可能有更加簡便簡單的方法!

我想大部分同學在剛開始看到這道題目的時候,想得都是利用陣列儲存之類的方法吧!

ac與wa之間也許只是乙個簡單的思路的閃現!

#includeusing namespace std;

int main()

{ unsigned int n;

cin>>n;

cout<<(n<<16)+(n>>16)<

P1201高低位交換解題報告

name p1201高低位交換 author goal00001111 date 17 12 08 09 24 description 描述 description 給出乙個小於2 32的正整數。這個數可以用乙個32位的二進位制數表示 不足32位用0補足 我們稱這個二進位制數的前16位為 高位 後1...

高低位交換

給出乙個小於2 32的正整數。這個數可以用乙個32位的二進位制數表示 不足32位用0補足 我們稱這個二進位制數的前16位為 高位 後16位為 低位 將它的高低位交換,我們可以得到乙個新的數。試問這個新的數是多少 用十進位制表示 例如,數1314520用二進位制表示為0000 0000 0001 01...

高低位交換

題目描述 輸入乙個無符號整數n unsigned int型別 n可以用乙個32位的二進位制數表示 不足32位用0補足 我們稱這個二進位制數的前16位為 高位 後16位為 低位 輸出將n的高位和低位交換後的值 用十進位制表示 例如 輸入1314520,它的二進位制表示為0000 0000 0001 0...