Python 位運算子

瘋狂的大志GD發表於2019-08-26

引言

本文主要介紹位運算子,實際上Python有以下7類運算子:
[賦值運算子]、[比較運算子]、[算術運算子]、[邏輯運算子]、[身份運算子]、[成員運算子]、[位運算子]

位運算子

按位運算子是把數字看做二進位制來運算的,位運算子分兩部分:1.位邏輯運算子 2.位移運算子
在二進位制中 1 通常為 True,0 通常為 False

位邏輯運算子包括

異或 取反
& | ^ ~

位移運算子包括

左移 右移
<< >>

位邏輯運算子

二進位制中 1 代表 True,0代表 False

  • & 與運算子,兩數為 True 時結果為 True,否則為 False
  • | 或運算子,兩數只要有一個為True,結果就為True,否則為False
  • ^ 異或運算子,當兩數不一致時,結果為 True,兩數一致時結果為 False
  • ~ 取反運算子,對二進位制進行取反,即 1 取反為 00 取反為 1
    # 二進位制取反
    a = 12  # 1100
    print( ~a )  # 1100 + 1 = 1101
    # 執行結果:-13 ,對應的二進位制碼:-1101

位移運算子

指定二進位制碼向左邊或右邊移動若干位

  • << 按位左移運算子,二進位制碼向左移動 N 位,左移多少位右邊就補多少個0
    # 按位左移
    a = 12  # 12,對應的二進位制碼:1100
    print( a << 3 )
    # 執行結果:96,對應的二進位制碼:1100000
  • >> 按位右移運算子,二進位制碼向右移動 N 位,右邊溢位丟棄,右移多少位左邊就補多少個0
    # 按位右移
    a = 12  # 12,對應的二進位制碼:1100
    print( a >> 1 )
    # 執行結果:6 ,對應的二進位制碼:110

大志 Python

努力學習,讓未來的網際網路每一處都有我們的腳印

相關文章