通常情况:都用'%'符号表示取模或者求余运算。在这里要提醒大家要十分注意当前环境下'%'运算符的具体意义,因为在有负数存在的情况下,两者的结果是不一样的。
一、求摸:
摸= y - n * x ,n是y/x后的商(要向下取整):算出摸的值符号与x相同
例:
10/3 的摸 : n = 10/3 为3.3333333333333335 向下取整 n=3
模=10-3*3 ;模为1
10/-3的模: 10/-3为-3.3333333333333335 向下取整 n=-4
10-(-3*-4) = -2 模=-2
二、取余:
余数等于 y - n * x ,n是y/x后的商(向0取整):算出余数的值符号与y相同
例:
10/3 的余数 : n = 10/3 为3.3333333333333335 向0取整 n=3
10-3*3 ;
余数为1
10/-3的余数: 10/-3为-3.3333333333333335 向0取整 n=-3
10-(-3*-3) = 1
余数=1
三、区别
- 在计算n值的时候:求模(向下取整), 取余(向0取整)
- 在计算n的符号的时候:求模(模的值与x的符号一样),取余(模的值与y的符号一样)