关于取余运算的问题

关于取余运算的问题


System.out.println(-10.0%3);   // -1.0

System.out.println(10.0%-3);   // 1.0

System.out.println(13.200000005%0.5);   // 3.5


为什么除数为负数时余数为正数

而 被除数为负数时余数为负数?


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
Tender10 2017-05-05 13:52:31

1、System.out.println(-10.0%3);   // -1.0 ,正推:-10%3,商是-3,余数是-10-3*(-3)=-10-(-9)=-10+9=-1;

2、System.out.println(10.0%-3);   // 1.0,正推:10%-3,商是-3,余数是10-(-3)*(-3)=10-9=1;

3、第三个正数的除法应该好理解,你也可以计算一下验证一下。

Tender10 2017-05-05 11:06:49

1、首先解决System.out.println(-10.0%3);   // -1.0 这个疑惑,-10%3,应该商为-3,余数为-1,反推就是-3*3=-9,加上余数-1就等于-10了;

2、System.out.println(10.0%-3);   // 1.0,10%-3,商为-3,余数为1,反推就是-3*-3=9,加上余数1就等于10了。

3、第三个应该没什么疑问,你也可以反推验证一下。

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师