總結一句:Python中負數整除,是向負無窮取整,因此致使負數取餘不對python
在數學公式中,兩種語言的表示算法都是同樣的,都是:算法
r=a-n*[a/n]spa
以上,r是餘數,a是被除數,n是除數。.net
惟一不一樣點,就是商向0或負無窮方向取整的選擇,c從c99開始規定向0取整,python則規定向負無窮取整,選擇而已。blog
向零取值的含義是:9/7=1 .29----向0取值-->1;-9/7=-1.29----向0取值------>-1數學
向負無窮取值的含義是:9/7=1 .29----向0取值-->1;-9/7=-1.29----向0取值------>-2總結
因此套用上述公式爲:語言
C 語言:(a%n的符號與a相同)co
-9%7=-9 - 7*[-1]=-2;ps
9%-7=9 - -7*[-1]=2;
Python語言::(a%n的符號與n相同)
-9%7=-9 - 7*[-2]=5
9%-7=-9 - -7*[-2]=-5原文:https://blog.csdn.net/tao546377318/article/details/53183245