计算机语言中常见的取模方式有两种:truncate除法和floor除法
-
truncate除法趋零取整,Java、C、JS等大多语言采用的是这种除法。
举例:
-7 % 3 = -1,7 % -3 = 1
推导:
-7 % 3 = -7 - truncate(-7 / 3) * 3 = -7 - (-6) = -1
7 % -3 = 7 - truncate(7 / (-3)) * (-3) = 7 - 6 = 1 -
floor除法趋负无穷取整,Python等语言采用的是这种除法。
举例:
-7 % 3 = 2,7 % -3 = -2
推导:
-7 % 3 = -7 - floor(-7 / 3) * 3 = -7 - (-9) = 2
7 % -3 = 7 - floor(7 / (-3)) * (-3) = 7 - 9 = -2
综上:计算负数取模时,要知道该语言采用的是哪种方式。
上面两种方式取模结果符号记忆:truncate法模的符号与被除数一致,floor法模的符号与除数一致。

本文深入解析计算机语言中两种主流的取模运算方式:truncate除法和floor除法。通过具体实例,阐述了这两种方式在处理正负数时的不同表现及背后的原理。了解这些差异对于正确处理编程中的取模操作至关重要。
2837

被折叠的 条评论
为什么被折叠?



