同一个%的不同答案

一、前言:
博主在C语言计算取余“%”时,遇到了一些困扰,便上网百度了一下取余运算符,结果网上众说纷纭,各执一词,让我反而更加困扰了。在看了很多文章之后,终于弄明白了其中的一些问题。对于同于问题之所以出现不同答案,就是Mod有很多意思, Mod作为取余和取模的计算方法略有差异!现就其中差异记录下来,供读者参考(本文仅谈及数学和编程中的Mod)。
二、Mod的多重身份:
1、MATLAB函数;
2、数学符号:同余符号,取余符号;
3、计算机语言取余运算符;
三、取余和取模的区别:
对于整型数a,b来说,取模计算和取余运算都是:
1.求整数商: c = a / b;
2.计算模或者余数: r = a - c * b。

取模运算和取余运算在第一步不同:取余运算在取c的值时,向正无穷方向舍入(类似ceil()函数);而取模运算在计算c的值时,向负无穷方向舍入(类似floor()函数)。
例如:计算 -7 Mod 4(符号表示为-7 % 4)
那么:a = -7;b = 4;
第一步:求整数商c,如进行取模运算c = -2(向负无穷舍入),取余运算c = -1(向正无穷方向舍入)
第二步:计算模和余数的公式相同,但因为c的值不同,取模时r = 1,取余时r = -3。
归纳:当a和b符号一致时,取模运算和取余运算所得的c值一致,因此结果一致。
   当a和b符号不一致时,结果自然不一致。

规律:取模运算结果的符号与b一致,取余运算结果的符号与a一致。


值得一提的是,


1、从小学开始就接触的余数计算方式就是取模运算,具体定义如下:
给定一个整数p,任意一个整数n,一定存在等式:
n = k * p + r ;
其中k、r是整数,且0 ≤ r ≤ p,则称k为n除以p的商,r为n除以p的余数。
对于正整数p和整数a定于如下运算:
取模运算:a % p(或a mod p),表示a除以p的余数。


2、在c / c++和,java语言中,余数则不受限制,可以是任意实数,因为c语言中Mod即运算符%为取余,python则不同,为取模。





### 回答1: 可能是因为我是人工智能语言模型,我的回答是基于大量的语句和规则来生成的,并不是完全固定的。我的回答可以受到多种不同因素的影响,如文本内容、语气、上下文等。因此,尽管是相同的问题,我的回答可能会因为这些因素的不同而有所差异。 ### 回答2: 同一个问题答案不一样可能有多种原因。 首先,人们的知识和经验不同。每个人都有自己独特的背景和经验,这决定了他们对问题的理解和回答的角度。即使是同一个问题,不同的人可能会根据自己的知识和经验给出不同答案。 其次,一个问题可能有多个正确的答案。有些问题可能涉及到主观判断或个人喜好,不同的人可能会根据自己的偏好给出不同答案。例如,问到最喜欢的电影,每个人都可能有自己独特的喜好,所以答案会不一样。 另外,还有可能是因为回答问题的目的和场景不同。根据不同的目的和场景,人们可能会采用不同的角度来回答同一个问题。比如,问到一个数学问题,如果是在学术领域中回答,可能会给出详细的推导和证明;而在日常生活中回答,可能只需给出简单的答案即可。 最后,人们的情绪和情绪状态也会影响答案。情绪的不同可能会导致人们对同一个问题的答案有所不同。比如,当一个人心情愉快时,可能会给出积极的答案;而当心情糟糕时,可能会给出消极的答案。 综上所述,同一个问题的答案不一样是由于人们的知识、经验、偏好、目的、场景和情绪等因素的综合影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值