? ? 取模运算实际上是计算两数楿除以后的余数假设 q 是 a、b 相除产生的商(quotient),r 是相应的余数(remainder)那么在几乎所有的计算系统中,都满足:
? ? 因此 r 有两个选择一个为正,一個为负;相应的q 也有两个选择。如果a、b 都是正数的话那么一般的编程语言中,r 为正数;或者如果 a、b 都是负数的话一般 r 为负数。但是如果 a、b 一正一负的话不同的语言则会根据除法的不同结果而使得 r 的结果也不同,但是一般 r 的计算方法都会满足:
? ?大多数语言的处理方式都与 C/Java 一致采用了 truncate 除法。所以在 C/Java 语言中:
可以看出:运算结果的符号始终和被模数的符号一致