私は Java から Ruby に移行していますが、この -7 mod 3 = 2 は私を困惑させます
1280 次
3 に答える
8
-7 ひく 2 は 3 の倍数だからです。
より具体的には、その場合に使用されるモジュラスの実装は、たまたま正のモジュラスを選択します。一部の実装では、最初のオペランドと同じ符号のモジュラスを選択し、他の実装では常に正を選択します。
于 2012-07-06T08:02:16.027 に答える
1
要素{0, 1, 2}
が時計回りに進む数字ホイールを想像してみてください。
0 から始めて、反時計回りに 7 桁移動します-7
( がある場合は+5 mod 3
、時計回りに桁移動します5
)。
それでは、どこに行くのか見てみましょう。
Current Number: 0 -1 -2 -3 -4 -5 -6 -7
Wheel Number: 0 2 1 0 2 1 0 2
于 2012-07-06T08:06:55.413 に答える
1
mod 関数は、最初のパラメーターよりも小さい最大倍数の上の剰余を返します。
3 を 7 で割った場合、6 は 7 より小さい最大の倍数なので、1 が答えです (7-6)。
-7 なので、-9 は -7 より小さい最大の倍数なので、2 が答えです (-7- -9、または -7+9)。
于 2012-07-06T08:07:08.050 に答える