1. 程式人生 > 其它 >01 - 介紹Python和庫檔案的管理

01 - 介紹Python和庫檔案的管理

例題

根據要求如果想讓某數的第 i 位變成0,那麼需要&上一個第 i 位為0的數,因為0/1 & 0都等於0,但是其他位需要不變,則其他位需要& 1,因為0&1=1,1&1=1,&上1不會發生變化

如果想讓某數的第 i 位變為1,那麼需要 | 上一個第 i 位為1的數,以為0/1 | 1都等於1,但是其他位需要不變,則其他位需要 | 上1,因為0|0=0,1|0=1,|上0不會發生變化

異或上1就會變成相反的數,而異或上0則不變

程式碼如下:

運算子:

左移 <<
x 中所有的二進位制位向左移動 j 個位置,而右邊填入0
所有小於int的型別,移位以 int 的方式來做,結果是 int
x <<= 1等價於x *= 2
x <<= n等價於x *= 2^n

右移 >>
x中所有的位向右移動 j 個位置
所有小於 int 的型別,移位以 int 的方式來做,結果是 int
x >>= 1等價於x /= 2
x >>= n等價於x /= 2^n

&

如果參加&運算的是負數,則以補碼的形式表示為二進位制數,然後按位進行“與”運算。

用途:清零、取一個數中某些指定位

|

用途:用來對一個數據的某些位定值為1

^

異或(XOR),判斷兩個相應的位值是否為“異”,相異為1.

用途:使特定位翻轉(要使哪幾位翻轉,將與其相異或的數的哪幾位置1)

與0相異或,保留原值

交換兩個值,不用臨時變數

~

使某個整數的最低一位為0(a = a&~1)(~1 最後一位為0,其餘都為1)

~比&優先順序高