2013-05-16 48 views

回答

2

Python整數除法結果截斷被舍入到負無窮大。

對於原因:http://python-history.blogspot.com.au/2010/08/why-pythons-integer-division-floors.html

+1

值得一提的是,在python 3中'/'運算符將返回float,並且// //將進行floor整數除法。所以在python 3中:'7/-3'爲'-2.3333333333333335','7 // -3'爲'-3' – stalk

+0

雖然很奇怪「 - 」被當作第一位的標誌。 – zoombya

+0

@zoombya你是什麼意思,一元減號? – jamylak

0

在做整數除法蟒蛇四捨五入到下一個較低的整數(樓)。 這就是爲什麼如果你計算7/3 python會告訴你它是2。 當您輸入7/-3時,它不會成爲-2,因爲那不是發言權。 -3是下一個較低的整數。

0

執行整數除法時,數字被四捨五入爲整數(floor(x)返回N中的最大值n,例如n <= x)。這意味着對於負數,舍入數值將具有更高的絕對值(因此7/3 == floor(7//-3) == floor(-2.333)返回-3)。