matlab整除取余_MATLAB的取整与取余函数

时间:2025-03-01 20:37:08

取模(

mod

)与取余(

rem

)的不同:

通常取模运算也叫取余运算,它们返回结果都是余数

.rem

mod

唯一的区别在于

:

x

y

的正负号一样的时候,

两个函数结果是等同的;

x

y

的符号不同时,

rem

函数结果的符号和

x

的一样,而

mod

y

一样。

这是由于这两个函数的生成机制不同,

rem

函数采用

fix

函数,而

mod

函数采用了

floor

函数(这两个函数是用来取整的,

fix

函数向

0

方向舍入,

floor

函数向无穷小方向舍入)。

rem

(

x

y

)命令返回的是

x-n.*y

,如果

y

不等于

0

,其中的

n = fix(x./y)

,而

mod(x,y)

回的是

x-n.*y

,当

y

不等于

0

时,

n=floor(x./y)

两个异号整数取模取值规律

(当是小数时也是这个运算规律,这一点好像与

C

语言的

不太一样)

先将两个整数看作是正数,再作除法运算

①能整除时,其值为

0

②不能整除时,其值

=

除数

×

(

整商

+1)-

被除数

例:

mod(36,-10)=-4

即:

36

除以

10

的整数商为

3

1

后为

4

其与除数之积为

40

再与被数之差为

(

40-36=4

)

取除数的符号。所以值为

-4

例:

mod(9,1.2)=0.6

例:

>> mod(5,2)

ans =1

%“

除数

是正,

余数

就是正

>> mod(-5,2)

ans =1

>> mod(5,-2)