请问C语言是怎么计算负数取余的?

请问C语言是怎么计算负数取余的?
如:-18%5=?
是怎么计算的如何计算的,我参加对口高考这是我的知识盲点,知道的请回答,谢谢。越详细越好。

C语言计算负数取余:符号内的被除数决定,就是计算式中的-7,7,-7决定:比如-7%5=-2;

7%-5=2;

-7%-5=-2;

负数取余的原理:

任何一个整数n都可以表示成n=k*q+r其中0<=|r|<|q|这里的r就是n除以q的余数,即r==n%q例如:-9=(-2)*4+(-1)则-9除以4的余数为-1。

求余:取整除后的余数。

求模:基本意义和求余相同,不过要求a%b中的b不是负数。

扩展资料

C语言除法运算符“/”和求余运算符“%”

除法运算符“/”。二元运算符,具有左结合性。参与运算的量均为整型时,结果为整型,舍去小数。如果运算量中有一个为实型,结果为双精度实型。

例如:

5/2=2,1/2=0

5/2.0=2.5

求余运算符“%”,二元运算符,具有左结合性。参与运算的量均为整型。求余运算的结果等于两个数相除后的余数。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-01-16
简单的说,先全都当正数取余,然后在结果前面添加被除数的符号即可。比如问的-18%5就相当于18%5得到3,再添上“-”号,结果就是-3。
下面看具体的:
a%b = a - a/b*b
注意,这是C语言中的取余,和计算机科学以及数学中定义的求模是有区别的。这里的a,b都必须是整形。其中a/b是去尾运算而不是四舍五入。
对于有人问-7%5 = 3,那应该不是用的C语言取余了,可能是Python或者其他语言,按照计算机科学中取模的定义-7 mod 5的结果才是3。取模的定义就不多说了。今天正好对这方面产生了一点疑惑,我写的解释都是经过资料查找和亲自试验的结论。希望能帮到有同样疑惑的人。
第2个回答  推荐于2017-10-01
汗,LS竟然还有说通过实验验证的,考试时有电脑吗。。。

其是由符号内的被除数决定,也就是下例中的-7,7,-7决定

比如-7%5 = -2;
7%-5 = 2;
-7%-5 = -2;本回答被提问者采纳
第3个回答  2019-09-18
也就是下例中的-7。;7%-5
第4个回答  2007-06-04
和正数一样的,还是采用下变量赋值,编出求余的小程序,然后输入你想输的数,看结果啦。
自己去亲自操作一下吧,别人把答案直接告诉你就达不到学习的目的了。
相似回答