floor mod sqlserver_java中求余%与取模floorMod的区别

初学java的时候接触的%这个符号百分号?求余?取模?我只知道不是百分号,好像是求余,听别人那叫求模运算符,跟求余一样,于是我便信了。思考之后开始迷糊,然后经过多次考证得到以下结论。首先,%是求余的意思,不是求模的意思。求模不完全等于求余。首先我们遵守公式:a = b * q + r;这里的a是被除数,b是除数,q是商,r是余数也可以是模。q= a/b 且 |r| < |b|于是得到:r =...
摘要由CSDN通过智能技术生成

初学java的时候接触的%这个符号

百分号?

求余?

取模?

我只知道不是百分号,好像是求余,听别人那叫求模运算符,跟求余一样,于是我便信了。

思考之后开始迷糊,然后经过多次考证得到以下结论。

首先,%是求余的意思,不是求模的意思。求模不完全等于求余。

首先我们遵守公式:

a = b * q + r;

这里的a是被除数,b是除数,q是商,r是余数也可以是模。

q= a/b 且 |r| < |b|

于是得到:

r = a – (a/b)*b;

r的求值公式都是这样,那么求余和求模的区别在哪呢?

1、

java求余单位是%

java中求模使用的是Math.floorMod(被除数, 除数)方法

2、

求余追求的是商的绝对值最小

求模追求的是商的值最小

也就是说a/b得到的值在求余和求模中可能是不一样的,如果a/b得到的是正数,那么商的绝对值和商的值相等,求余的结果和求模的结果一致。

当a>0,b>0 则a%b >=0 且Math.floorMod(a,b) >=0

当a<0,b<0, 则 被除数 -(除数*商),已知商的绝对值取最小的,也就是说|被除数|>|除数*商|。所以a%b <=0 且Math.floorMod(a,b) <=0

当ab异号 则 a/b

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值