c語言 反轉二進位制數

2021-08-31 07:32:45 字數 1541 閱讀 2870

1.編寫函式:

unsigned int reverse_bit(unsigned int value);

這個函式的返回值value的二進位制位模式從左到右翻轉後的值。

如:在32位機器上25這個值包含下列各位:

00000000000000000000000000011001

翻轉後:(2550136832)

10011000000000000000000000000000

程式結果返回:

2550136832

2.不使用(a+b)/2這種方式,求兩個數的平均值。

3.程式設計實現:

一組資料中只有乙個數字出現了一次。其他所有數字都是成對出現的。

請找出這個數字。(使用位運算)

有乙個字元陣列的內容為:「student a am i」,

請你將陣列的內容改為"i am a student".

要求:不能使用庫函式。

只能開闢有限個空間(空間個數和字串的長度無關)。

1.

#include

void

my_reverse

(char

* pb,

char

* pe)

}void

reverse

(char

* cur)

pe--

;my_reverse

(pb,pe)

;while

(*cur)

//找到空格

end = cur-1;

my_reverse

(start,end)

;//逆序單個單詞if(

*cur ==

' ')

cur++;}

printf

("%s"

,ret);}

intmain()

2.

#include

//**方法一**

#include

intmain()

printf

("%u"

,sum)

;return0;

}#include

//**方法二**

intprint

(unsigned

int n)

return value;

}

3.

#include

intmain()

4.

#include

intmain()

;for

(i =

0; i <

5; i++

)printf

("%d\n"

,ret)

;return0;

}

二進位制數反轉

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

二進位制數反轉

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...