lesson1-python3運算子
阿新 • • 發佈:2018-11-11
1、位運算子
a=10
b=20
print(a & b)
print(a|b)
print(a^b)
print(~1)
print(~30)
0
30
30
-2
-31
這個問題涉及到計算機內部的編碼。
對於整數,計算機內部用最高位表示符號位,0表示為正,1表示為負。
對於負數,為了便於計算,計算機用補碼來表示其值。
已經一個數的補碼,要知道其值分兩種情況:
1:符號位是0,正數,所以後面的二進位制位則表示大小,即正數的原碼=其補碼。如1表示出來則為00000001(我這裡用八位來表示,也可以用16位或32位)
2:符號位是1,負數,這時候需要把後面的數取反再加一(要問為什麼?查一下資料吧,可以根據補碼的特性推出來),所以11111110表示的數是1111110取反為0000001,再加一,則為0000002。算上符號位,就是-2。
1的二進位制表示為:00000001,則~1為11111110,根據補碼的轉換方法,我們就可以算出11111110表示的數是-2.
同理:~0 = -1
2、身份運算子
a = 10
b = 20
c = 10
print(a is b)
print(a is c)
print(a is not b)
False
True
True
3、算術運算
4、比較運算
5、賦值運算子
6、邏輯運算
7、成員運算
8、運算子的優先順序