Heim > Java > javaLernprogramm > Hauptteil

Warum gibt -1 % 2 in Java -1 zurück, in Python jedoch 1?

Susan Sarandon
Freigeben: 2024-10-30 04:04:28
Original
1002 Leute haben es durchsucht

Why Does -1 % 2 Return -1 in Java, but 1 in Python?

Modulo-Operationen in Java: Warum positive und negative Zahlen wichtig sind

Wenn Sie Modulo-Operationen in Java ausführen, verstehen Sie den subtilen Unterschied zwischen dem Modul und der Rest ist entscheidend. Im Gegensatz zu Python berechnet der Modulo-Operator (%) von Java den Rest und nicht den Modul.

Betrachten Sie das in der Frage bereitgestellte Beispiel: -1 % 2 gibt in Java -1 zurück, während es in Python 1 zurückgibt. Dies liegt daran, dass Python den Modul berechnet, der immer einen nicht negativen Wert ergibt, während Java den Rest berechnet, der das Vorzeichen des ersten Operanden (in diesem Fall -1) beibehält.

Um das gleiche Verhalten wie zu erhalten Python können Sie die folgenden Techniken anwenden:

  • Addition und Modulo: Addieren Sie 2 zum negativen Ergebnis und wenden Sie dann das Modulo erneut an. Diese Operation stellt sicher, dass das Ergebnis immer positiv ist:
<code class="java">int i = (((-1 % 2) + 2) % 2)</code>
Nach dem Login kopieren
  • Bedingtes Inkrement: Initialisieren Sie das Ergebnis auf den ursprünglichen Rest, und wenn es negativ ist, addieren Sie 2:
<code class="java">int i = -1 % 2;
if (i < 0) i += 2;</code>
Nach dem Login kopieren

Denken Sie daran, dass diese Techniken immer dann Anwendung finden, wenn Sie den Modul negativer Zahlen in Java berechnen müssen. Während die Operatoren in Python und Java möglicherweise das gleiche Symbol (%) haben, verhalten sie sich unterschiedlich, was möglicherweise zu Verwirrung führt, wenn Sie zwischen Sprachen wechseln.

Das obige ist der detaillierte Inhalt vonWarum gibt -1 % 2 in Java -1 zurück, in Python jedoch 1?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!