取模(取余)的具体含义

模除(modulus)是数学中的一种运算,指一个数除以另一个数的余数。在编程中,不同语言对负数取模有不同的处理方式。Python中,取模运算在计算整数商时向负无穷方向取整,然后计算余数。例如,-3 mod 5 的结果是 2。理解这些差异对于编程至关重要。
摘要由CSDN通过智能技术生成

mod

模除(又称模数、取模操作、取模运算等,英语:modulo 有时也称作 modulus)得到的是一个数除以另一个数的余数。

给定两个正整数:被除数 a 和除数 n,a modulo n (缩写为 a mod n)得到的是使用欧几里德除法时 a/n 的余数。 举个例子:计算表达式 “5 mod 2” 得到 1,因为 5÷2=2…1(5 除以 2 商 2 余1);而 “9 mod 3” 得到 0,因为 9÷3=3…0;注意:如果使用计算器做除法,不能整除时,你不会得到商,而是会得到一个小数,如:5÷2=2.5。

不同的编程语言对负数取余结果有不同的处理。

当 a 和 n 均为负数时,通常的定义就不适用了,不同的编程语言对结果有不同的处理。

python语言的取模运算

对于整型数a,b来说,取模运算或者求余运算的方法都是:
1.求 整数商: c = a/b;
2.计算模或者余数: r = a - c*b.

求模运算和求余运算在第一步不同: 取余运算在取c的值时,向0 方向舍入;而取模运算在计算c的值时,向负无穷方向舍入。

验证:

3/5=0.6,向负无穷取整,得到0

“余数”=3-(0*5)=3

-3/5=-0.6 负无穷取整,得到-1

“余数”=-3-(-1*5)=-3+5=2

-3/-5=0.6,取整=0

“余数”=-3-(0*-5)=-3

3/-5=-0.6,取整=-1

“余数”=3-(-1*-5)=3-5=-2

公式似乎没有问题.总之不管算出来的商是几,一律向负无穷方向取整,然后计算余数即可.

参考

https://zh.wikipedia.org/wiki/%E6%A8%A1%E9%99%A4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hali_Botebie

文中错误请不吝指正!!!!!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值