Rumah  >  Artikel  >  Java  >  Berikut ialah beberapa pilihan tajuk, bermain dengan format soalan: * **Mengapa -13 % 64 bukan 51 dalam Java?** (Mudah dan langsung) * ** Operator Modulus Java dan Nombor Negatif: Cara Mendapatkan Resu yang Dijangka

Berikut ialah beberapa pilihan tajuk, bermain dengan format soalan: * **Mengapa -13 % 64 bukan 51 dalam Java?** (Mudah dan langsung) * ** Operator Modulus Java dan Nombor Negatif: Cara Mendapatkan Resu yang Dijangka

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-25 12:17:30207semak imbas

Here are a few title options, playing with the question format:

* **Why is -13 % 64 not 51 in Java?**  (Simple and direct)
* **Java Modulus Operator and Negative Numbers: How to Get the Expected Result?** (More descriptive, highlights the challenge)
* **

Pengiraan Modulus dengan Nombor Negatif dalam Java

Di Java, operator modulus (%) mengembalikan baki selepas membahagikan dua nombor. Walau bagaimanapun, apabila berurusan dengan nombor negatif, hasilnya mungkin tidak seperti yang dijangkakan.

Isu:

Pemaju menghadapi keputusan yang tidak dijangka apabila melakukan pengiraan modulus dengan nombor negatif, khususnya -13 % 64. Daripada hasil yang dikehendaki 51, hasilnya ialah -13.

Penjelasan:

Takrifan modulus untuk nombor negatif berbeza-beza merentas pengaturcaraan bahasa. Di Jawa, baki yang dikembalikan oleh pengendali modulus mempunyai tanda yang sama dengan dividen (pembilang). Oleh itu, -13 % 64 menilai kepada -13.

Penyelesaian:

Untuk mendapatkan hasil 51 yang diingini, pembetulan berikut boleh digunakan:

<code class="java">int r = x % n;
if (r > 0 && x < 0) {
    r -= n;
}</code>

Kod ini memastikan baki positif apabila dividen negatif.

Sebagai alternatif, jika bahasa mengembalikan baki negatif untuk input negatif dan pembangun lebih suka keputusan positif, pelarasan berikut boleh dibuat:

<code class="java">int r = x % n;
if (r < 0) {
    r += n;
}</code>

Kod ini menukar baki negatif kepada nilai positif.

Atas ialah kandungan terperinci Berikut ialah beberapa pilihan tajuk, bermain dengan format soalan: * **Mengapa -13 % 64 bukan 51 dalam Java?** (Mudah dan langsung) * ** Operator Modulus Java dan Nombor Negatif: Cara Mendapatkan Resu yang Dijangka. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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