1. 程式人生 > 其它 >運算子_算術運算子

運算子_算術運算子

常用運算子包括
1.算術運算子
2.賦值運算子
3.比較運算子
4.布林運算子
5.位運算子
接下來的章節將會對這些運算子逐個講解
算術運算子分為
(1)標準算數運算子
(2)取餘運算子
(3)冪運算子

標準算數運算子
加+ 減- 乘* 除/ 整除//
取餘運算子%
冪運算子**
這邊的標準算數運算子裡面的除法更加符合平常的認知/就是除法,而//才是整除,這邊是需要和C語言整數除法進行區別的地方
print(1/2)//output:0.5
print(1//2)//output:0 就是取整
注意這兩者之間的區別

取餘運算(取模運算)
print(11%2)//output:1
注意python更有一絲的地方
from decimal import Decimal
print(Decimal('2.1')%Decimal('2'))
print(Decimal('2')%Decimal('1.1'))
//output:
0.1
0.9
在python中支援浮點數取餘,其中的邏輯大致如下
n%m,其中n,m可以是浮點數或者整數
|k|*|m|<=|n|(1)
那麼最後的結果就是sign(n)*(|n|-|km|),此時k的取值為滿足(1)式中的最大的k值
這邊的邏輯不能完美自洽,前面所說的這套邏輯的使用範圍是C++中的取餘運算遵循的規則
接下來是更加精確的底層邏輯,通過[m/n]獲得整出後的結果
那麼我們直到被除數=除數

商+餘數
m%n = m-n*[m/n]

print(2**3)//output:8
上面是冪運算子
這邊注意如果想要通過冪運算子來獲得平方根,是不行的,此時python編譯器會認為程式碼中的*是多打的,將冪運算降級為乘法運算
print(2**1/2)//output:1.0

整除同時也可以有浮點數存在,只是這時候的答案是以浮點數的形式輸出
筆者也沒有發現什麼特別好的方法,也就是說整數的整除如果是一正一負的時候,那麼整除出來的結果毋庸置疑肯定也是負數,那麼此時該負數時向下取整,即[x],而如果符號相同的話,我們會發現它仍然也是向下取整,所以很明顯整除地運算邏輯為
[m/n],注意這邊的m/n的含義是m除以n的值