python为什么22//10返回3?
这主要是为了让 i%j
的正负与 j
一致,如果你想要这样的结果,并且又想要:
i==(i//j)*j+(i%j)
那么整除就必须向下取整。 C 同样要求保持一致,并且编译器在截短 i//j
的结果值时需要使 i%j
的正负与 i
一致。
对于 i%j
来说 j
为负值的应用场景实际上是非常少的。 而 j
为正值的情况则非常多,并且实际上在所有情况下让 i%j
的结果为 >=0
会更有用处。 如果现在时间为 10 时,那么 200 小时前应是几时? -190%12==2
是有用处的;-190%12==-10
则是会导致意外的漏洞。
以上是 python为什么22//10返回3? 的全部内容, 来源链接: utcz.com/z/520647.html