0

わかりましたので、MOD と REM の違いを理解しています。また、C の % 操作が REM 操作であることも認識しています。明示的なMOD用のCライブラリまたは関数があるかどうかを知りたかったのですが、オンラインで見つけることができませんでした。

具体的には、私は真実になりたい(-1)%4 == 3です。(-1)%4 = -1余りなのでCで。そして、できれば絶対値の使用を避けたいと思います。さらに良いのは、見つけられないように見える組み込み関数を利用することです。

どんなアドバイスでも大歓迎です!

4

3 に答える 3

3

私が考えることができる最良のオプションは、計算することです:

((-1 % 4) + 4 ) % 4

-1ここでは、任意の値に置き換えることができ、 MODnotが得られREMます。

于 2013-11-08T14:35:59.223 に答える
0

あなたが期待することを行うための最も一般的な方法は次のとおりです。

((a % b) + b ) % b

(a % b)]-b; の数値であるため、機能します。b[(a % b) + bは正 (]0; 2 * b[) であり、追加bしても mod は変更されませんでした。

于 2013-11-08T14:53:00.367 に答える
0

ただやって、

int mod(int a, int b)
{
    int res = a % b;
    return(res < 0 ? (res + b) : res);
}

&のモジュラスを取得するために、操作後のすべての負のres内容MODが に追加されます。bab

于 2013-11-08T14:48:34.073 に答える