首页 > 解决方案 > 使用负操作数的模运算符

问题描述

我在学习时发现在负运算符上使用模运算符会给出不同的输出print(28%10) 给出了 8 作为实际余数的结果。有人可以帮我理解这个吗?

标签: pythonoperator-keywordmodulomodulus

解决方案


您可以将 A%B 运算符视为一种工具:“只要我们找到一个介于 0 和 B 之间的数字,就可以从 A 中添加或减去 B”,即

-28%10 = 2
since:
-28 +10 +10 +10 = 2 # between 0 and 10

28%-10 = -2
since:
28 -10 -10 -10 = -2 #between 0 and -10
28 -10 -10 = 8 #not between 0 and -10

28%10 = 8
since:
28 -10 -10 = 8# between 0 and 10


推荐阅读