Python-位操作 ( &,|,~,^,<<,>>


 用於提高運算速度,規避算術運算符

 在位操作運算中,不應該試圖考慮先得到一個數的二進制碼 ,而是應該將這個數看作是一個二進制碼,二進制補碼與整數之間是一一對應的.

 誠然Python中有內置函數bin將一個整數轉換位二進制,python中使用該函數轉換位負數,斌不是其補碼.

  因此不能先得到該數的二進制碼. 同時絞盡腦汁得到一個屬的二進制補碼是沒有必要的!

 

 & : 按位與操作, 只有 1&1 為 1, 其它情況為 0. 可用於進位運算

 |  :  按位或操作 , 只有 0|0 為0 ,其他情況為1

 ~ : 逐位取反

 ^ :  異或, 相同為 0 ,相異為 1 . 可用於加操作 (不包括進位項 )

 << : 左移操作, 2的冪有關

 >> : 右移操作, 2的冪有關

 

  1. 交換律:a ^ b ^ c <=> a ^ c ^ b

  2. 任何數於0異或為任何數 0 ^ n => n

  3. 相同的數異或為0: n ^ n => 0

var a = [2,3,2,4,4]

2 ^ 3 ^ 2 ^ 4 ^ 4等價於 2 ^ 2 ^ 4 ^ 4 ^ 3 => 0 ^ 0 ^3 => 3

異或:相同為0,不同為1. 異或同一個數兩次,原數不變。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM