计算机中负数取余和数学上的取余

数学定义上的取余:(余数必须大于0)
如果a和d是两个自然数,d非零,可以证明存在两个唯一的整数 q 和 r,满足a=qd+r且0 ≤ r < d(其中q为商,r为余数)。
举例:
5%3=3x1+2,商为1,余数为2
(-5)%(-3)=(-3)x2+1,商为2,余数为1
5%(-3)=(-3)x(-1)+2,商为-1,余数为2
(-5)%3=3x(-2)+1,商为-2,余数为1
————————————————
版权声明:本文为CSDN博主「algsup」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_43152052/article/details/101023628
计算机中取余:
所有语言和计算器都遵循了尽量让商尽量靠近0的原则,即5%(-3) 的结果为2而不是-1,(-5)%3的结果是-2而不是1。

如:-5%3=-2 -5%-3=-2 5%-3=2

即:都先看成两个都是正数,然后取余,如果a是正数,结果就是正数,如果a是负数,结果就是负数,b的正负不影响。

编程中考虑负数取余的情况(化成数学上的余数)
(a % b + abs(b)) % b

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

wow_awsl_qwq

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值