Heim >Java >javaLernprogramm >Warum gibt der Modulo-Operator von Java ein negatives Ergebnis für negative Zahlen zurück?
Negative Modulo-Ergebnisse in Java
Bei der Durchführung von Modulo-Operationen mit negativen Zahlen in Java ist Ihnen möglicherweise aufgefallen, dass die Ergebnisse von den erhaltenen abweichen in Python. In Java ergibt int i = -1 % 2 -1, während es in Python 1 zurückgibt.
Modulo und Rest verstehen
Der Schlüssel zum Verständnis dieses Unterschieds liegt in der Unterscheidung zwischen Modulo und Rest. In Python gibt der %-Operator den Modulus zurück, der immer ein nicht negatives Ergebnis liefert. Im Gegensatz dazu gibt der Modulo-Operator von Java den Rest zurück, der negativ sein kann, wenn der Zähler negativ ist.
Negative Ergebnisse korrigieren
Um das gleiche Verhalten wie der %-Operator von Python zu erhalten In Java können Sie die folgenden Schritte ausführen:
Alternativ können Sie die folgende Formel verwenden:
int i = (((-1 % 2) 2) % 2) ;
Durch die Anwendung dieser Methoden können Sie sicherstellen, dass der Modulo-Operator von Java positive Ergebnisse für negative Eingaben zurückgibt, was dem Verhalten in Python entspricht.
Das obige ist der detaillierte Inhalt vonWarum gibt der Modulo-Operator von Java ein negatives Ergebnis für negative Zahlen zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!