时间:2021-05-20
下面我来抛出几道题:
说明m是商,n是余数;
(1)正数%正数
3%2=m…….n
2%3=m…….n
(2)正数%负数或者负数%正数
-3%2=m…….n
3%-2=m…….n
-2%3=m…….n
2%-3=m…….n
(3)负数%负数
-3%-2=m…….n
-2%-3=m…….n
下面的结果没有商m只有余数n;有没有全部答对呢?没有的话来看总结吧
(1)
3%2=1…….1
2%3=0…….1
正数除以正数:
商正余正
(2)
-3%2=-1…….-1
3%-2=-1…….1
-2%3=0…….-2
2%-3=0…….2
除数或者被除数其中之一为负数:
先按正数计算,商负余同被除数
(余数和被除数同号)你可能对结果0有疑问,你可以把它当成负0,因为被除数=除数*商+余数,所以被除数是希望商乘以除数的结果是接近它的(如最后一组数被除数2是希望-3乘以0后的结果是接近它的,所以可以理解为0是负0,这样就普遍适用了)
(3)
-3%-2=1…….-1
-2%-3=0…….-2
两个数都是负数:
先按正数计算,商正余负
(对于第二组可理解为0是正0,解释同上)
今天和同事聊到Java的取模(mod)和取余(rem),发现我们常用的基本都是正数取余或取模,那带有负数的要怎么计算呢。
大部分的资料都会说:当x和y的正负相同,取余和取模结果相同,当x和y正负不同,取余结果的符号和x相同,取模结果的符号和y的符号相同。
但是这只是说了下结果的正负,要怎么计算呢???
假设:被除数 a 除数 b 商c 余数d 公式 a/b=c...d 可以变形为 d=a-b*c
那么关键就在于这个c取什么值。
举个栗子:a=5,b=-2 ,那么 5÷(-2)=-2.5
取模的时候,因为mod 函数采用了 floor 函数,floor函数是向下取整的,所以-2.5向下取整就是-3,那么d=5-(-2)*(-3)=5-6=-1。
取余的时候,因为rem 函数采用 fix 函数,fix函数是向0取整的,所以-2.5向0取整就是-2,那么d=5-(-2)*(-2)=5-4=1。
OK!晓得了!
关于 Java 运算中的求余 % 运算,这里负数到底怎么算。
刚好他们用代码做了举例,下面两张图的控制台都有输出结果。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
取模与取余的区别对于整型数a,b来说,取模运算或者求余运算的方法都是:1.求整数商:c=a/b;2.计算模或者余数:r=a-c*b求模运算和求余运算在第一步不同
本文实例讲述了C#编程实现取整和取余的方法。分享给大家供大家参考,具体如下:"%"为取余号,不用多说。"/"号现在整形运算是取整,浮点运算时为除法运算,如54/
python取余运算符是什么?python取余运算符是%,即表示取模,返回除法的余数。假设变量:a=10,b=20:那么b%a输出结果0注:Python语言支持
取模运算与取余运算两个概念有重叠的部分但又不完全一致。主要的区别在于对负整数进行除法运算时操作不同。对于整形数a,b来说,取模运算或者求余运算的方法都是:1、求
python实现取余操作的方法:可以利用求模运算符(%)来实现。求模运算符可以将两个数相除得到其余数。我们还可以使用divmod()函数来实现取余操作,具体方法