專題總結 位運算

2021-10-04 04:37:10 字數 1747 閱讀 9188

首先我們需要熟悉python的位運算子:

a = 0011 1100

b = 0000 1101

位運算常用的運算子包括&(按位與), | (按位或),~(按位非),^(按位異或),<< (有符號左移位) ,>>(有符號右移位)。

x^1s = ~x實現數的位級反轉。1s表示一串1

利用x^x = 0可以實現除重。保留唯一乙個不重複的數字。

利用x&mask可以實現掩碼,只保留想要的位置的數字。利用x|mask可以實現置位。

n&(-n)可以實現得到n的最低一位1。其中-n的二進位制是n的反碼+1。0的反碼是0000移位運算包括算數和無符號,>>是算數,會補充相應的符號位。>>>只補0

x&1可以用來判斷奇偶。

使用x&(x-1)可以刪除最低位的乙個1

下面簡單的記錄一些運用位運算的例子:

bin()函式返回的是字串。如,bin(4)返回的是"0b100"

class

solution

(object):

defhammingdistance

(self, x, y)

:"""

:type x: int

:type y: int

:rtype: int

"""return

bin(x ^ y)

.count(

'1')

a = a ^ b

b = a ^ b

a = a ^ b

位運算專題

1.寫乙個函式,返回二進位制中1的個數 define crt secure no warnings include include 寫乙個函式,返回引數二進位制中的1的個數 int count one bits unsigned int value return count int main 2.獲...

位運算專題

給定乙個整數,編寫乙個函式來判斷它是否是 2 的冪次方。示例 1 輸入 1 輸出 true 解釋 20 1 示例 2 輸入 16 輸出 true 解釋 24 16 示例 3 輸入 218 輸出 false 異或 相同為0 不同為1 相當於加法 0 0 0 1 0 1 0 1 1 1 1 0 取反 右...

演算法專題 位運算

基本概念 按位與運算 取min 按位或運算 取max 按位異或運算 不進製加法 按位取反運算 按位左移運算 按位右移運算 運算子優先順序表 判斷奇偶a 1大小寫切換c 32求x二進位制中第k位數 x k 1特定位翻轉,01111010後四位翻轉,01111010 00001111交換兩個數a a b...