总结一句: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