计算机中负数取余和数学上的取余
Published on 2022-11-17 23:04 in 暂未分类 with 林动

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

    数学定义上的取余:(余数必须大于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

    posted @   林动  阅读(409)  评论(0编辑  收藏  举报
    相关博文:
    阅读排行:
    · 全程不用写代码,我用AI程序员写了一个飞机大战
    · DeepSeek 开源周回顾「GitHub 热点速览」
    · MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
    · 记一次.NET内存居高不下排查解决与启示
    · 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
    点击右上角即可分享
    微信分享提示