Python-负数取余(mod)

本文详细解析了负数取余的数学原理,探讨了在不同编程语言中(如C++、Java、Python等)负数取余的具体实现方式及背后的逻辑。揭示了计算机语言在处理异号整数运算时的不同策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

负数取余遵循公式:

        a与d是整数,d非零,那么余数r满足

        a=q*d+r,q为整数,且0<=|r|<|d|

通常可能有两个r满足定义,r1,r2分别称为正余数、负余数,且r1=r2+d.

 

在计算机语言中,同号整数运算,所有语言都遵循尽量让商小的原则,因此7mod3结果为1没有异议。

在异号的整数运算中,C++和Java会让商尽可能大(比如-7mod3中,d=-2,r=-1)。Python等则让商尽可能小(比如-7mod3中,d=-3,r=2)。

参考文献:https://www.zhihu.com/question/31344913

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值