正负数之间取模运算的符号问题

来源:互联网 发布:什么是nosql数据库 编辑:程序博客网 时间:2024/05/16 23:34

如果 % 左边的操作数是正数,则模除的结果为正数或零;

如果 % 左边的操作数是负数,则模除的结果为负数或零。

例子:
          15 % 2       // 余 1
          15 % -2      // 余 1
          -15 % 2      // 余 -1
          -15 % -2     // 余 -1

标准规定,如果 a 和 b 都是整数,则 a % b 可以用公式 a - (a / b) * b 算出。例如:

          -15 % 2 == -15 - (-15 / 2) * 2 == -15 - (-7) * 2 == -1