1. 程式人生 > >lesson1-python3運算子

lesson1-python3運算子

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、運算子的優先順序

在這裡插入圖片描述