举例说明
a÷b=c…d
17÷5=3…2
被除数÷除数=商…余数
有负号的运算规则
求:
- -17除以5的商和余数
- 17除以-5的商和余数
- -17除以-5的商和余数
答:
a÷b=c…d
用a代表被除数,用b代表除数,用c代表商,用d代表余数.
c的数值是|a|/|b|,c是正号还是负号由a和b的负号数量决定;d的正负号和a相同,数值为 a-c*b.
- -17÷5=-3…-2
解释:-17和5分别取绝对值并相除,即17/5=3,因为只有一个负号,因此-17/5的商为-3;余数为-17-(-3*5),即余数为-2.
- 17÷-5=-3…2
解释:17和-5分别取绝对值并相除,即17/5=3,因为只有一个负号,因此17/-5的商为-3;余数为17-(-3*-5),即余数为2.
- -17÷-5=3…-2
解释:-17和-5分别取绝对值并相除,即17/5=3,因为有两个负号,负负得正,因此-17/-5的商为3;余数为-17-(3*-5),即余数为-2.
验证
用程序测试一下,代码如下:
#include <stdio.h>
void division(int dividend,int divisor)
{
printf("%d/%d=%d\n",dividend,divisor,dividend/divisor);
printf("%d%%%d=%d\n\n",dividend,divisor,dividend%divisor);
}
int main(void)
{
int a,b,c,d;
a = 17,b = 5;
division(a,b);
a = -17,b = 5;
division(a,b);
a = 17,b = -5;
division(a,b);
a = -17,b = -5;
division(a,b);
return 0;
}
运行结果为:
17/5=3
17%5=2
-17/5=-3
-17%5=-2
17/-5=-3
17%-5=2
-17/-5=3
-17%-5=-2

本文通过实例介绍了C语言中涉及负数的除法和求余运算规则。阐述了当被除数和除数带有负号时,商和余数的确定方法,并通过程序进行验证。
4179

被折叠的 条评论
为什么被折叠?



