簡體   English   中英

Python中的整數除法

[英]Integer division in Python

我對python中的以下整數數學感到困惑:

-7/3 = -3因為(-3)*3 = -9 < -7 我明白。

7/-3 = -3我不知道如何定義。 (-3)*(-3) = 9 > 7 在我看來,它應該是-2,因為(-3)*(-2) = 6 < 7

這是如何運作的?

文檔

對於(普通或長整數)除法,結果為整數。 結果總是向負無窮大舍入 :1/2為0,( - 1)/ 2為-1,1 /( - 2)為-1,( - 1)/( - 2)為0。

-inf的舍入解釋了您所看到的行為。

這是它的工作原理:

int(x)/int(y) == math.floor(float(x)/float(y))

擴大了艾克斯和羅伯特的答案。

考慮到這一點的最佳方法是向下舍入(向負無窮大)浮點結果:

-7/3 = floor(-2.33) = -3

7/-3 = floor(-2.33) = -3

/用於浮點除法//用於整數除法(返回整數)

而python將結果向下舍入

Python向下舍入。 7/3 = 2(2 + 1/3)-7/3 = -3(-2 + 1/3)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM