c语言中2/(-2)和2%(-2)的值? 请解释下原因。O(∩_∩)O谢谢

这三条性质是我们认为整数除法和余数操作所应该具备的1,q*b+r==a,因为这是定义余数的关系。2,如果我们改变a的正负号,我们希望q的符号也随之改变,但q的绝对值不会变... 这三条性质是我们认为整数除法和余数操作所应该具备的
1,q*b + r == a,因为这是定义余数的关系。
2,如果我们改变a 的正负号,我们希望q 的符号也随之改变,但q 的绝对值不会变。
3,当b>0 时,我们希望保证r>=0 且r<b。
但C 语言编译器在做运算时不能同时满足这三点

我想知道在编译器中遵循什么原则,是怎样计算的?
展开
 我来答
dongyue2008
2010-12-14 · TA获得超过3604个赞
知道大有可为答主
回答量:1300
采纳率:100%
帮助的人:598万
展开全部
2/(-2)得-1,2%(-2)得0。
前者是整除操作求商,后者是求余数。
再如:3/(-2) = -1, 3%(-2)=1
4/(-3) = -1, 4%(-3)=1。
你用小学的除法式子列一下就知道原因啦~~

不论b是否大于0,都保证r>=0 且r<b,你可以自己验证一下
匿名用户
2010-12-14
展开全部
别被负数忽悠喽 抛开负号不看 2/2 就是2除以2 =1 加上负号为 -1

2%2 是2除以2得的余数 2能被2整出 余数为0 加上负号还是 0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式