整数除以 0 的余数

saw*_*awa 5 integer division integer-division divide-by-zero

考虑整数除法

a = bq + r
Run Code Online (Sandbox Code Playgroud)

其中 a、b、q、r 分别为:被除数、除数、商和余数。特别是当 b = 0 时,对于给定的 a,没有唯一的 q 满足方程,因此在这种情况下商 q 应该是未定义的。

但是,在这种情况下确实存在唯一的 r,即 r = a。在商和余数总是一起定义的前提下,当 q 未定义时,r 也没有定义,但是在编程中,我们经常想使用余数运算%而不管除法/。我实际上遇到了我想要的情况if b == 0 then a else a % b end

是否有/是否有任何编程语言中的运算符,它%与除数为 0 时相同但返回被除数而不是零除法错误?

大多数(或所有)编程语言是否有任何理由为 返回零除法错误% 0

小智 3

从数学上来说,余数介于 0 和 b-1 之间,其中 b 是除数。因此,当 b = 0 时,r 未定义,因为它必须 >= 0。