zoukankan      html  css  js  c++  java
  • 负数求余数 C 和 Matlab&Python 处理不一样

    在百度看到这个问题:http://zhidao.baidu.com/question/937487369300959012.html?oldq=1

    用matlab和Python测试了下,发现都是这样:

    和一开始的想法一致:

    负数取余 在原数加上或者减去 整数个 -3 使得结果落在 -2~0之间。

    比如: 1%-3 1 + 1*(-3) = -2 余数是 -2
    7%-3 7 + 3*(-3) = -2 余数是 -2
        -4%-3 -4 -1*(-3)= -1 余数是 -1

    答完之后发现自己和别人的不一样,自己又用C语言跑了一下发现还真不一样~

    百度了下,发现是这么回事:http://zhidao.baidu.com/link?url=YwqRxcU3bGqes74d22wT06MDc1qIQmq4hm91RLnRDkfDVECX1WI0jjqDET5U-7aOcr4noy4bB9bcliQlKg-smdLxDjX6ev_HwMES28nxs27

    引用:
    对负数的取模运算,C99规定:如果第一操作数为负,则得到的模为负;如果第一操作数为正,则得到的模为正。也就是说这是C的规定。真正的答案不用C的话,就用算术来计算是不是5%-3=-2.95,而在C语言当中就是为第一操作数的正整数,也就是2了。我比较关心,要是我用C来计算这样的问题,那么得出的结果和真正的结果不一样了,只不过是C的结果,遇到这样的问题我应该怎么写这段代码,得到真正的结果。麻烦你了。


    -----------------------------------------------------------------------------------------
    那岂不是。。。。

    C99这样规定没问题么?那算出来的值与通常意义上的数学定义岂不是有点出入~ To do...........................!
    ~不再更新,都不让我写公式,博客园太拉胯了
  • 相关阅读:
    最近要看的项目
    Lavarel Route::resource
    架构,性能
    Unity ToLua & LuaFramework_UGUI学习笔记(zz)
    Unity UI 布局
    Introduction to Unity UI
    Unity more efficient find
    unity UI如何开启(显示)或者关闭(隐藏)Panel界面最好?
    Unity Canvas vs Panel
    Unity实现新手引导圆形遮罩
  • 原文地址:https://www.cnblogs.com/alimy/p/4120973.html
Copyright © 2011-2022 走看看