Modulo-Verhaltensunterschied in Java und Python
In Java liefert der Modulo-Operator (%) den Rest, wenn eine Zahl durch eine andere dividiert wird. Bei negativen Dividenden gibt Python jedoch den Modul zurück, während Java den Rest zurückgibt. Der Modul ist immer positiv, während der Rest das Vorzeichen des Dividenden behält.
Um das Modulo-Verhalten von Java an das von Python anzupassen, ist eine Änderung erforderlich. Dies kann erreicht werden, indem eine weitere Modulo-Operation oder eine Anpassung des Vorzeichens des Ergebnisses hinzugefügt wird.
Zum Beispiel:
<code class="java">int i = (((-1 % 2) + 2) % 2); // adds 2 to the initial remainder and takes the modulus again</code>
oder
<code class="java">int i = -1 % 2; if (i < 0) i += 2; // adds 2 if the initial remainder is negative</code>
Indem Sie dies tun Anpassung entspricht das Ergebnis dem erwarteten Modulverhalten in Python und stellt positive Werte für negative Dividenden bei der Durchführung von Modulo-Operationen sicher.
Das obige ist der detaillierte Inhalt vonWarum liefert der Modulo-Operator (%) von Java für negative Dividenden andere Ergebnisse als Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!