高低位交換

2021-10-04 09:18:10 字數 534 閱讀 2818

題目描述:

輸入乙個無符號整數n(unsigned int型別),n可以用乙個32位的二進位制數表示(不足32位用0補足),我們稱這個二進位制數的前16位為「高位」,後16位為「低位」,輸出將n的高位和低位交換後的值(用十進位制表示)。

例如:輸入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,所以輸出249036820。

一行,含乙個無符號整數(unsigned int型別)

一行,含乙個無符號整數。

#include#includeusing namespace std;

int main()

高低位交換

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

演算法 位元組高低位交換

對乙個位元組資料,逐個交換其高低位,例如11010001,經過0 7,1 6,2 5,3 4對應位的交換,變成10001011 對於該問題,我們最先想到的是對原位元組通過移位操作來逐位處理,使用另乙個變數來儲存交換後的結果。這種解決方案處理起來思路清晰,編寫 應該不難。下面是該思路對應的 unsig...

codevs 高低位交換 5641

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