4

モジュロ演算子がCおよびJavaで意図したとおりに機能しないのはなぜですか?

4

4 に答える 4

5

ウィキペディアには、さまざまな言語の操作の兆候を示す素敵な表があります。Pythonでは除数(26)の符号であり、Java / Cでは被除数(-1)の符号です。

于 2013-03-22T18:19:50.947 に答える
3

Pythonの%演算子は、モジュラスではなく、数学的な剰余を計算します。余りは、定義上、0と除数の間の数値であり、モジュラスのように被除数の符号に依存しません。

于 2013-03-22T18:17:13.533 に答える
1

指定どおりに動作しています。

契約はそれです

a == (a/b) * b + (a % b)

整数除算はゼロに向かって切り捨てられます。したがって、負の配当を使用すると、負の剰余が得られます。

于 2013-03-22T18:15:22.053 に答える
0

Pythonについてはわかりませんが%、Javaの演算子は、除算後に取得した余りを返します。

-1%26

それを分解する:

            26)-1(0
                0
                ---
                -1 ---> Remainder as (-1+0=-1)
于 2013-03-22T18:15:14.270 に答える