面試題 按位翻轉32位unsigned

2022-01-25 03:55:12 字數 521 閱讀 1381

//

test.cpp : 定義控制台應用程式的入口點。

//#include

"stdafx.h

"#include

#include

using

namespace

std;

//方法一是將結果儲存在了另乙個變數中,從a中取依次取最低位,放入放入ret的低位然後右移ret

int reverse(int

a)

return

ret;}//

方法二是交換a的低位和高位,首先取低位和高位,然後用異或判斷高位和低位是否相同,如果相同

//則不變,如果不同則高位和低位分別取反(利用異或上1)

int reverse2(int

a) low = low << 1

; high = high >> 1

; }

returna;}

intmain()

python數的按位翻轉 Python按位運算子

按位運算子對位進行運算並執行逐位運算。假設a 60 並且b 13 現在,以二進位制格式,它們的值將分別為0011 1100和0000 1101。下表列出了python語言支援的按位運算子,並分別舉例說明,我們將上述兩個變數 a和b 用作運算元 a 0011 1100 b 0000 1101 a b ...

位運算面試題總結

題目鏈結 題目描述 給出兩個32位的整數n和m,以及兩個二進位制位的位置i和j。寫乙個方法來使得n中的第i到j位等於m m會是n中從第i為開始到第j位的子串 樣例n 10000000000 2,m 10101 2,i 2,j 6 返回n 10001010100 2class solution els...

位運算常見面試題

思路 兩個相同數異或結果為0 int a a b int b a b int a a b 思路 兩個相同數異或結果為0,讓陣列中所有的數字相異或,留下的結果即為出現 次的數字 int find one time number vector data return result 思路 兩個相同數異或結...