展开全部
如有q=a/b;r=a%b;//q是商,r是余数
当a>=0且b>0则必有r<b
C语言针对负数求余有三条规定:
q*b+q=a//数学法则
-a/b=-q//a改变正负时同时改变q的正负,同时保证|q|的值不变
当b>0时,r>=0且r<b
所有编译器的设计都必须遵守第一条法则。当a>0且b<0时,答案是有保证的。当a<0且b>0时,第二条以及第三条的结果是冲突的。当然,上面的问题是第一种情况,答案是肯定的,如果换成-7%4结果可能就无法确定了。
当a>=0且b>0则必有r<b
C语言针对负数求余有三条规定:
q*b+q=a//数学法则
-a/b=-q//a改变正负时同时改变q的正负,同时保证|q|的值不变
当b>0时,r>=0且r<b
所有编译器的设计都必须遵守第一条法则。当a>0且b<0时,答案是有保证的。当a<0且b>0时,第二条以及第三条的结果是冲突的。当然,上面的问题是第一种情况,答案是肯定的,如果换成-7%4结果可能就无法确定了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询