Python 中的整数除法和带负操作数的模运算

2023-12-12

当我在 Python 3.3.0 中输入这些表达式时出现问题

-10 // 3  # -4
-10 % 3   #  2
10 // -3  # -4
10 % -3   # -2
-10 // -3 #  3

看起来好像它采用近似浮点(-3.33)?并在整数除法中以任一方式向下舍入,但在模运算中它会执行完全不同的操作。看起来它返回余数 +/-1,并且仅根据负操作数的位置切换符号。即使在查看了该网站上的其他答案之后,我仍然感到非常困惑!我希望有人也能清楚地解释这一点!书上说提示:回想一下这个神奇的公式 a = (a//b)(b)+(a%b) 但这对我来说似乎根本没有解决问题。

-提前致谢!

Edit:这些只是我对发生的事情(以上)的个人评估,我知道,我完全离开了!


那里的整数除法只是取最后得到的数字的下限。

10/3  -> floor(3.33)  ->  3
-10/3 -> floor(-3.33) -> -4

(为什么是地板)


另一方面,模运算遵循数学定义.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 中的整数除法和带负操作数的模运算 的相关文章

随机推荐