负数取余遵循公式:
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)。
————————————————
版权声明:本文为CSDN博主「棠牧师」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44252966/article/details/85248165