取余和取模的区别

如题所述

取余和取模的区别:取余和取模的差别就在于取整的方法,取余是向0的方向舍入,取模的时候向无穷小的方向舍入。

拓展资料:

什么是取余和取模

通常取模运算也叫取余运算,它们返回结果都是余数rem和mod唯一的区别在于当X和y的正负号一样的时候,两个函数结果是等同的,当和y的符号不同时,rem函数结果的符号和的-样,而mod和y样,这是由于这两人函数的生成机制不同

rem函数采用fx函数,而mod函数采用了100r函数这两个函教是用来取整的,函数向0方向舍入,foor函数向无穷小方向舍入)。rem(x,)命令返回的是Xn.,如果不等于0,其中的n=fx(x.),而mod返的是x-n.*y,当y不等于0时n=floor(x./y)

两个异号整数取模取值规律(当是小数时也是这个运算规律,这一点好像与C语言的不太一样)先将两个整数看作是正数,再作除法运算:

1、能整除时,其值为0

2、不能整除时,其值=除数x(整商+1)-被除数

例:mod(36,-10)=-4

即:36除以10的整数商为3加1后为4;其与除数之积为40;再与被数之差为(40-36=4);取除数的符号。所以值为-4.例:mod(9,1.2)=0.6.

求模运算和求余运算在第一步不同:取模求余运算在取c的值时,向0方向舍入(fix()函数);而求余取模运算在计算c的值时,向无穷小方向舍入(floor()函数)。

因此,当a和b符号一致时,求模运算和求余运算所得的c的值一致,因此结果一致。但是当符号不一致的时候,结果不一样。具体来说,求模运算结果的符号和b一致,求余运算结果的符号和a一致。

在C语言中,%符号表示的是求余运算,在python脚本中,%表示的是取模。(通常取模运算中b不允许是负数,但是在python2.5.1里可以在%后面跟负数,因为python语言中除法的结果是向0舍入,因此计算结果是取模!)

温馨提示:答案为网友推荐,仅供参考
相似回答