二進位制數反轉

2021-05-27 16:26:45 字數 412 閱讀 8367

(1)使用了歸併排序的思路(最快)

但是時間複雜度比歸併排序要小,每行**都相當於完成了一次歸併

#include

unsigned revbit(unsigned x) 

void main() 

(2)把乙個32位整數按位反轉,即第1位轉到第32位,第2位轉到第31位,依次下去。一牛人寫的演算法如下:

unsigned int bit_reverse(unsigned int n) 

第一行**為奇偶位相互交換;第二行為以兩位為一單元,奇偶單元進行交換;第三行為以四位為一單元,奇偶單元進行交換;第四行為以八位為一單元,奇偶單元進行交換;最後一行為以十六位為一單元,奇偶單元進行交換。至此,32位反轉完成,演算法結束。

(3) stanford university

參考( )

二進位制數反轉

1 使用了歸併排序的思路 最快 但是時間複雜度比歸併排序要小,每行 都相當於完成了一次歸併 include unsigned revbit unsigned x void main 2 把乙個32位整數按位反轉,即第1位轉到第32位,第2位轉到第31位,依次下去。一牛人寫的演算法如下 unsigne...

反轉二進位制數

reverse bits of a given 32 bits unsigned integer.for example,given input 43261596 represented in binary as 00000010100101000001111010011100 return 964...

二進位制反轉

方法一 利用二進位制數轉化為十進位制數的計算規則來編寫,如下 include include includeunsigned int reverse bit int num return sum int main 這裡的 num i 1意思是依次取這個數二進位制位模式下的最右面的那一位數,一共取32...