Rumah > Java > javaTutorial > Mengapa Operator Modulo Java Mengembalikan Keputusan Negatif untuk Input Negatif?

Mengapa Operator Modulo Java Mengembalikan Keputusan Negatif untuk Input Negatif?

Patricia Arquette
Lepaskan: 2024-11-02 04:50:02
asal
658 orang telah melayarinya

Why Does Java's Modulo Operator Return Negative Results for Negative Inputs?

Memahami Modulo lwn. Baki dalam Java

Di Java, pengendali modulo (%) mengira baki selepas membahagikan satu nombor dengan yang lain. Tidak seperti pengendali modulo Python, operasi modulo Java mengembalikan nilai negatif untuk input negatif. Ini boleh membawa kepada hasil yang tidak dijangka, seperti yang ditunjukkan semasa mengira -1 % 2 dalam kedua-dua Python dan Java.

Menyelesaikan Percanggahan

Untuk mencapai kelakuan yang sama seperti modulo Python operator di Java, anda boleh menggunakan teknik berikut:

  • Gunakan Formula: Gunakan formula (((-1 % 2) 2) % 2) untuk sentiasa mendapatkan keputusan positif untuk selebihnya.
  • Semak Nilai Negatif: Daripada menggunakan operator modulo, semak sama ada keputusan pembahagian adalah negatif. Jika ya, tambahkan penyebut pada hasil untuk mendapatkan nilai positif.

Contoh Kod:

<code class="java">int i = (((-1 % 2) + 2) % 2);</code>
Salin selepas log masuk

atau

<code class="java">int i = -1 % 2;
if (i < 0) i += 2;</code>
Salin selepas log masuk

Dengan menggunakan teknik ini, anda boleh memastikan bahawa operasi modulo dalam Java berkelakuan konsisten dengan pengendali modulo Python dan memberikan nilai baki positif yang dijangkakan.

Atas ialah kandungan terperinci Mengapa Operator Modulo Java Mengembalikan Keputusan Negatif untuk Input Negatif?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan