取模和取余的区别

以java代码为例

一、取余是数学中的概念,取模是计算机中的概念,两者都是求两数相除的余数

1.当两数符号相同时,取模和取余的结果相同,比如:7%4 与 7 Mod 4 结果都是3

2.当两数符号不同时,取模和取余的结果不同

二、取模和取余的运算规则

取余运算,在计算商值时,值向0方向舍入,靠近0原则

取模运算,在计算商值时,商值向负无穷方向舍入;尽可能让商值小的原则(不超多商值的最大值)。商取小原则

例子:

取模(mod:Math.floorMod(x,y)

System.out.println(Math.floorMod(5,3));

简述

商值

取模值

5 mod 3 = 2

5/3 = 1.66 商取小原则 商=1

5 - 3 * 1 = 2

2

-5 mod 3 = 1

-5/3 = -1.66 商取小原则 商=-2

-5 - (3 * -2) = 1

1

5 mod -3 = -1

5/-3 = -1.66 商取小原则 商=-2

5 - (-3 * -2) = -1

-1

-5 mod -3 = -2

-5/-3 = 1.66 商取小原则 商=1

-5 - (-3 * 1) = 2

-2

取余(%:x%y

System.out.println(5%3);

简述

商值

取余值

5 rem 3 = 2

5/3 = 1.66 商靠0原则 商=1

5 - 3 * 1 = 2

2

-5 rem 3 = -2

-5/3 = -1.66 商靠0原则 商=-1

-5 - (3 * -1) = - 2

-2

5 rem -3 = 2

5/-3 = -1.66 商靠0原则 商=-1

5 - (-3 * -1) = 2

2

-5 rem -3 = -2

-5/-3 = 1.66 商靠0原则 商=1

-5 - (-3 * 1) = - 2

-2

三、总结

在计算商值时,

取余:靠近0原则

取模:商取小原则。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值