C语言:正负数之间取模运算(转载)

若是 % 两边的操做数都为正数,则结果为正数或零;若是 % 两边的操做数都是负数,则结果为负数或零。C99 之前,并无规定若是操做数中有一方为负数,模除的结果会是什么。C99 规定,若是 % 左边的操做数是正数,则模除的结果为正数或零;若是 % 左边的操做数是负数,则模除的结果为负数或零。例如:          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

相关文章
相关标签/搜索