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