atai0622 发表于 2021-3-1 09:48:08

关于%求余的问题

(-9)%7结果为什么是5?

atai0622 发表于 2021-3-1 10:20:02

哈,找到答案了
因为python里a%b是通过a-b*(a//b)实现的,所以-9%7=(-9)-7*((-9)//7),因为//是地板除,所以结果向下取整,(-9)//7=-1.xxx向下取整=-2.结果-9%7=(-9)-7*((-9)//7)=(-9)-7*(-2)=-9-(-14)=5

hrp 发表于 2021-3-1 10:21:56

-9=7*(-2)+5 所以余5?我也不确定,数学不好

柿子饼同学 发表于 2021-3-1 10:26:50

负数的话地板除是取小于准确结果的最大整数(-9除以7等于负一点几,那地板除就是-2),又因为地板除结果*除数+余数=被除数,所以就是5{:10_256:}>>> (-9) % 7
5
>>> (-9) // 7
-2
>>> (-2) * 7 + 5
-9
>>>
页: [1]
查看完整版本: 关于%求余的问题