负数的除法和取模运算
在c中,除法的运算结果和运算对象的类型有关。
若两个数都是整型int,则商必定是int,若结果出现小数会直接丢弃;
若a/b中有一个是浮点型,则结果为浮点型。
除法运算
负数的除法:方法与负数的乘法一样,先按照两个数都是正数做除法,然后在判断符号.若两个数符号相同则结果为正数,若两个数符号相反则结果为负数.
printf("%d %f %d \n", 16/3, 16.0/5, -13/5 );
//输出的结果是 5 3.200000 -2 (先算13/5=2 ,然后将(-13)和(+5)的符号相乘)
取余运算
会算除法运算,取余就简单多了。具体规则是:
取余的函数定义: a%b = a - (a/b)*b
printf("%d %d %d\n ", 13 % 3, 13 %-3, -13%-3);
//输出的结果是 1 1 -1
其实还有种简单的方法:
先取绝对值求余,再按照被除数(a)的符号
如 (-10)%3等于-1,10%(-3)等于1