编程语言中,取余和取模的区别

2023-11-13 20:18:05 浏览数 (3)

取余,遵循尽可能让商向0靠近的原则

取模,遵循尽可能让商向负无穷靠近的原则

在matlab中,关于取余和取模是这么定义的:

当y≠0时:

取余:rem(x,y)=x-y.*fix(x./y)

取模:mod(x,y)=x-y.*floor(x./y)

其中,fix()函数是向0取整,floor()函数是向负无穷取

运算为例:

7/(-3)=-2.3,在这个运算中,x为7,y为-3,分别调用fix()和floor()两个函数,得到结果是:

fix(-2.3)=-2

floor(-2.3)=-3

所以,rem(7,-3)=1,mod(7,-3)=-2

1 人点赞