美文网首页
“求余”和“取模”的区别

“求余”和“取模”的区别

作者: Kayson_ | 来源:发表于2018-10-28 14:36 被阅读0次

昨天在与同班学员的讨论中,对Java中的“%”符号到底是“求余”还是“取模”产生了疑问。通过百度发现这两种运算确实很像,在概念上有很多重复部分,而主要区别在于对负整数进行除法运算时操作不同。

下面进行举例说明:

对整型变量a、b来说,求余运算和取模运算的公式都是:

1.求整数商:c=a/b;

2.计算余数或者模:r=a-c*b。

两种运算在第一步时就产生了不同的结果:求余运算在取c的值时,向0方向舍入;而取模运算在计算c的值时,向负无穷方向舍入。

例如:计算-9 mod 5

设a=-9,b=5

1.求整数商:求余运算得c=-1(向0方向舍入);取模运算得c=-2(向负无穷方向舍入)。

2.计算余数或者模:由于c值不同,求余得r=-4;取模得r=1。

归纳:

a和b符号相同时,求余和取模结果相同;

a和b符号不同时,求余结果的符号和a相同,取模结果的符号和b相同。

另外不同环境下“%”运算符的含义也不同:

1.c/c++、Java为求余

2.Python为取模

相关文章

  • 取模

    取模和求余主要区别在负数。 c语言中求余,-1%255=-1;python中取模,-1%255=254.

  • “求余”和“取模”的区别

    昨天在与同班学员的讨论中,对Java中的“%”符号到底是“求余”还是“取模”产生了疑问。通过百度发现这两种运算确实...

  • java 中的除法与取余

    一、取余?取模? 首先区别一下取模运算(Modulo Operation)和取余运算(Complementatio...

  • 除法、求余和取模的区别

    一、除法运算符"/" 二元运算符,具有左结合性。参与运算的量均为整型时,结果为整型,舍去小数。如果运算量中有一个为...

  • 取余和取模的区别

    对整数a,b取余和取模统一都分为2步:第一步:求整数商, c = a / b第二步:计算模或余数,r = a - ...

  • 取模和取余 居然不一样!!!

    其实取模和取余在目标上是一致的,但是因为语言对取余和取模上定义的不同,导致得到的结果不同。 对取余和取模定义不同的...

  • 取模和取余

    近日在读C++ Primer第五版,在2.1.2类型转换一节中,有这样一个例子: 当看到255这个值,一脸蒙圈,为...

  • 取模和取余

    整数 a 和 bMOD 和 REM 的计算都分两步: c = a / b r = a - (c * b) 不同之处...

  • 取余和取模

    参考链接:https://blog.csdn.net/nishiwodebocai21/article/detai...

  • JavaScript的数学运算

    一,数学运算 与数学运算相似,加减乘除,重点是取余(求余/取模)% var a =2; a +=3;------...

网友评论

      本文标题:“求余”和“取模”的区别

      本文链接:https://www.haomeiwen.com/subject/mkiptqtx.html