大多数取模运算(mod)和求余(rem)运算都被混为一谈,因为在大多数的编程语言里,都用'%'符号表示取模或者求余运算。但是这两种的结果却不一样。
取模(求余)的计算步骤:
- 求整数商 c = a / b
- 求模(求余数) r = a - c*b m = a - c*b
由以上公式发现取模和取余操作步骤都是一样的,但是需要在计算过程中注意下第一步骤中的c,它们之间不同点就是:
取余运算时,c的值是向0方向取整
取模运算时,c的值是想负无穷方向取整
由于c的取值,从而导致a和b在符号一致(同正负),两者运算结果一致;如果a和b的符号不一致时(不同正负),两者的运算结果是不一样的(求模结果的符号和b一致,求余结果的符号和a一致,我们通过以mb来达到速记...)