搞定取模运算

取模运算

背景

取模运算(mod)和取余运算(rem)两个概念有重叠的部分,但又不完全一致;主要区别在于对负整数进行除法运算时操作不同。取模主要是用于计算机术语中;取余则更多是数学概念。

取模和取余的区别

  • 取余运算
    在计算商值时,商值向0方向舍入;商靠近0原则
  • 取模运算
    在计算商值时,商值向负无穷方向舍入;商取小原则

计算步骤

假设有整数a和b,那么取模/取余运算可以分为两步运算:

  1. 求整数商:c = a / b;
  2. 计算模/余数:r = a - ( c * b );
  3. 总计算模/余数:a % b = a - b[a/b] ([a/b]表示整数商)

例子

取模

简述商值 取模值
5 mod 3 = 2 5/3  =  1.66 商取小原则 商 = 15 - 3 * 1 = 22
-5 mod 3 = 1-5/3 = -1.66 商取小原则 商 = -2-5 - (3 * -2) = 11
5 mod -3 = -15/-3 = -1.66 商取小原则 商 = -25 - (-3 * -2) = -1-1
-5 mod -3 = -2-5/-3 = 1.66 商取小原则 商 = 1-5 - (-3 * 1) = 2-2

取余

简述商值 取余值
5 rem 3 = 2  5/3 = 1.66 商靠0原则 商 = 15 - 3 * 1 = 22
-5 rem 3 = -2-5/3 = -1.66 商靠0原则 商 = -1-5 - (3 * -1) = - 2-2
5 rem -3 = 25/-3 = -1.66 商靠0原则 商 = -15 - (-3 * -1) = 22
-5 rem -3 = -2-5/-3 = 1.66 商靠0原则 商 = 1-5 - (-3 * 1) = - 2-2



作者:蜗牛写java
链接:https://www.jianshu.com/p/5e1a83e8be3b
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值