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 Javas Modulo Der Operator gibt positive Ergebnisse für negative Eingaben zurück, was dem Verhalten in Python entspricht.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3