当除数和被除数异号时,在Python中,整除的结果都是向下(小)一个数取整的,相当于用了floor()
函数 ,和C不一样,可看以下计算:
16 // 7 = 2
16 // -7 = -3
-16 // 7 = -3
-16 // -7 = 2
由余数 = 被除数 - 商*除数,可先求商,然后反推出余数
16 % 7 = 2
16 % -7 = 16 -((-7)*(-3))= -5
-16 % 7 = -16 - (7*(-3)) = 5
-16 % -7 = -2
可以发现,余数和被除数的符号是一致的