rem(x,y) : 求整除x/y的余数
mod(x,y) : 求模
rem(x,y)=x-y.*fix(x./y);
mod(x,y)=x-y.*floor(x./y); %(floor()向左取整)
如果 x 和 y 的符号相同(同为‘+’,同为‘-’),那么rem(x,y)=mod(x,y),
(正数与正数,负数与负数,取整结果两个函数效果一样).
如果 x 和 y 的符号相反,那么 mod(x,y)=rem(x,y)+y ,
(正数与负数的取整,看你希望得到什么结果就选择用什么函数).
当正数与负数取余时,当得到的余数结果的符号希望跟除数 (x) 一样,用 rem() 函数;
当得到的余数结果的符号希望跟被除数 (y) 一样,用 mod() 函数.
例:
rem(3,2)=1;mod(3,2)=1;
rem(-3,-2)=-1;mod(-3,-2)=-1;
rem(3,-2)=1;mod(3,-2)=-1;
rem(-3,2)=-1;mod(-3,2)=1;
mod(3,2)=rem(3,2)=1;
mod(3,-2)=rem(3,-2)-2=1-2=-1;
mod(-3,2)=rem(-3,2)+2=-1+2=1;