Rumah > Java > javaTutorial > teks badan

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
Lepaskan: 2024-10-25 12:17:30
asal
223 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!