“求余”和“取模”的区别

 我来答
舒适还明净的海鸥i
2022-06-18 · TA获得超过1.7万个赞
知道小有建树答主
回答量:380
采纳率:0%
帮助的人:68.1万
展开全部
昨天在与同班学员的讨论中,对Java中的“%”符号到底是“求余”还是“取模”产生了疑问。通过百度发现这两种运算确实很像,在概念上有很多重复部分,而主要区别在于对负整数进行除法运算时操作不同。

下面进行举例说明:

对整型变量a、b来说,求余运算和取模运算的公式都是:

1.求整数商:c=a/b;

2.计算余数或者模:r=a-c*b。

两种运算在第一步时就产生了不同的结果:求余运算在取c的值时,向0方向舍入;而取模运算在计算c的值时,向负无穷方向舍入。

例如:计算-9 mod 5

设a=-9,b=5

1.求整数商:求余运算得c=-1(向0方向舍入);取模运算得c=-2(向负无穷方向舍入)。

2.计算余数或者模:由于c值不同,求余得r=-4;取模得r=1。

归纳:

a和b符号相同时,求余和取模结果相同;

a和b符号不同时,求余结果的符号和a相同,取模结果的符号和b相同。

另外不同环境下“%”运算符的含义也不同:

1.c/c++、Java为求余

2.Python为取模
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式