美文网首页
取余和取模

取余和取模

作者: 念䋛 | 来源:发表于2021-09-06 14:45 被阅读0次

    参考链接:https://blog.csdn.net/nishiwodebocai21/article/details/97012993
    取余和取模在除数和被除数都是正数的情况下是没有区别的,但是如果出现负号的时候,结果就不一样了

            System.out.println (-4 % 3);  //-1
            System.out.println (4 % 3);  //1
            System.out.println (4 % -3);  //1
            System.out.println (Math.floorMod (-4, 3));  //2
            System.out.println (Math.floorMod (4, 3)); //1
            System.out.println (Math.floorMod (4, -3)); //-2
    

    在matlab中,关于取余和取模是这么定义的:

    当y≠0时:

    取余:rem(x,y)=x-y.*fix(x./y)

    取模:mod(x,y)=x-y.*floor(x./y)

    其中,fix()函数是向0取整,floor()函数是向负无穷取整

    例如: 4 / (-3) 约等于-1.3

    在取余运算时候商值向0方向舍弃小数位于是fix(-1.3) = -1
    取余结果 : 4 - (-3)(-1) = 1
    在取模运算时商值向负无穷方向舍弃小数位于是 floor(-1.3) = -2
    取模结果 : 4 - (-3)(-2) = -2


    image.png

    相关文章

      网友评论

          本文标题:取余和取模

          本文链接:https://www.haomeiwen.com/subject/ogwewltx.html