P1100 高低位交換

2022-08-15 14:33:16 字數 1188 閱讀 3649

給出乙個小於2^232的正整數。這個數可以用乙個3232位的二進位制數表示(不足3232位用00補足)。我們稱這個二進位制數的前1616位為「高位」,後1616位為「低位」。將它的高低位交換,我們可以得到乙個新的數。試問這個新的數是多少(用十進位制表示)。

例如,數13145201314520用二進位制表示為0000 0000 0001 0100 0000 1110 1101 100000000000000101000000111011011000(新增了1111個前導00補足為3232位),其中前1616位為高位,即0000 0000 0001 01000000000000010100;後1616位為低位,即0000 1110 1101 10000000111011011000。將它的高低位進行交換,我們得到了乙個新的二進位制數0000 1110 1101 1000 0000 0000 0001 010000001110110110000000000000010100。它即是十進位制的249036820249036820。

乙個小於2^232的正整數

將新的數輸出

輸入 #1複製

1314520

輸出 #1複製

249036820

給出乙個正整數,用乙個32位的二進位制數表示,將它的高低位交換,我們可以得到乙個新的數(十進位制)

先把這個數轉換成二進位制,把他的高低位交換,再把新的數轉換成十進位制

#include#include

#include

#include

#include

#include

using

namespace

std;

unsigned

long

long

n,m;

unsigned

long

long

mod,wei;

unsigned

long

long ans[1001000

];unsigned

long

long shu,t=1

;string

s;int

main()

for(int i=17;i<=32;i++)

for(int i=1;i<=16;i++)

cout

}

P1100 高低位交換(位運算)

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

洛谷 P1100 高低位交換

p1100 高低位交換 include include define ll long long 定價代換ll 代替long long void sw int a,int b 自定義數值交換函式 void fun ll n ll sum 0 int x 32 int k 0 while n n一直對2...

洛谷 P1100 高低位交換

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