在乙個無符號整數中翻轉位的順序

2021-05-22 01:31:56 字數 762 閱讀 9357

1、

題目:

請編寫函式

unsigned int reverse_bits( unsigned int value );

這個函式的返回值是把value

的二進位制位模式從左到右變換一下後的值。例如,在

32位機器上,

25這個值包含下列各個位:

00000000000000000000000000011001

函式的返回值應該是2,550,136,832

,它的二進位制位模式是:

10011000000000000000000000000000

編寫聚光燈時要注意不要讓它依賴於你的機器上整型值的長度。

出處:《c

和指標》。

kenneth a. reek 

著,徐波譯。人民郵電出版社。第

89頁。

2、我的**:

2.1 源**:

2.2評價: 1)

用printf

列印unsigned int

型要用u%;

如果用d%,

可能列印出負值。

3、書上的答案:

3.1源**

3.2評價 1)

設定i為

unsigned int

型,作為

for迴圈的判斷條件; 2)

對if(value & 1)

作判斷,比我的**少做了位打操作,效率要高; 3)

用<<=

符號,簡單明瞭。

java從乙個檔案讀取無符號的位元組型整數

儘管讀進來,然後做一下處理,譬如 byte b byte 0xff int i b 0xff system.out.println i 超過127的數,做一下與運算就可以了,根據你那個整數的大小來調整 與 運算右側的值,其關係是小於255的用0xff 小於4096的用0xfff 小於65535的用0...

面試經典(1 翻轉字的順序在乙個句子

題目 輸入乙個英文句子,翻轉句子中單詞的順序。但單詞內字元的順序不變。句子中單詞以空格符隔開。為簡單起見,標點符號和普通字母一樣處理。比如輸入 i am a student.則輸出 student.a am i 因為本題須要翻轉句子。我們先顛倒句子中的全部字元。這時。不但翻轉了句子中單詞的順序。並且...

輸出乙個整數的每一位

大家有沒有發現這種方法是吧整數的每一位都列印出來了但是他是逆序列印出來的。那我們怎麼才能正序列印呢 請看下面的方法,親!解題思路 把乙個整數分成兩部分列印,當這個整數是兩位或者兩位以上的數,要拆長最後一位和前面n 1位數的列印。例如 num是1234 1 先判斷他是幾位數 用if n 9 大於9說明...