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

Mengapa Operator Modulo Java Mengembalikan Keputusan Negatif untuk Nombor Negatif?

Mary-Kate Olsen
Lepaskan: 2024-10-30 11:50:02
asal
291 orang telah melayarinya

Why Does Java's Modulo Operator Return a Negative Result for Negative Numbers?

Keputusan Modulo Negatif dalam Java

Apabila melakukan operasi modulo dengan nombor negatif di Java, anda mungkin perasan bahawa keputusan berbeza daripada yang diperoleh dalam Python. Dalam Java, int i = -1 % 2 menghasilkan -1, manakala dalam Python, ia mengembalikan 1.

Memahami Modulo dan Baki

Kunci untuk memahami perbezaan ini terletak pada perbezaan antara modulo dan baki. Dalam Python, operator % mengembalikan modulus, yang sentiasa menghasilkan hasil bukan negatif. Sebaliknya, operator modulo Java mengembalikan baki, yang boleh menjadi negatif jika pengangkanya negatif.

Membetulkan Keputusan Negatif

Untuk mendapatkan tingkah laku yang sama seperti operator % Python dalam Java, anda boleh melakukan langkah berikut:

  1. Kira baki menggunakan modulo: int i = -1 % 2;
  2. Tambah cukup untuk menjadikan baki bukan negatif: jika (i < 0) i = 2;

Sebagai alternatif, anda boleh menggunakan formula berikut:

int i = (((-1 % 2) 2) % 2) ;

Dengan menggunakan kaedah ini, anda boleh memastikan bahawa pengendali modulo Java mengembalikan hasil positif untuk input negatif, memadankan gelagat dalam Python.

Atas ialah kandungan terperinci Mengapa Operator Modulo Java Mengembalikan Keputusan Negatif untuk Nombor 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