Nilai Baki Negatif dalam Operasi Modulo
Apabila melakukan operasi modulo, di mana satu operan negatif, hasil yang tidak dijangka mungkin timbul. Artikel ini meneroka sebab operasi seperti (-7 % 3) dan (7 % -3) menghasilkan keputusan yang kelihatan tidak konsisten masing-masing -1 dan 1.
Menurut piawaian ISO14882:2011, pengendali modulo (% ) menyediakan baki selepas membahagikan operan pertama dengan yang kedua. Walaupun membahagi integer secara amnya melibatkan membuang bahagian pecahan, pengendali modulo juga mempertimbangkan tanda-tanda operan.
Dalam kes (-7 % 3), keputusan -7 / 3 ialah -2. Mendarab -2 dengan 3 memberi -6, menunjukkan bahawa bakinya ialah -1. Oleh itu, (-7 % 3) = -1.
Begitu juga, untuk (7 % -3), 7 / -3 menghasilkan -2. Mendarab -2 dengan -3 menghasilkan 6, menjadikan bakinya 1. Oleh itu, (7 % -3) = 1.
Adalah penting untuk ambil perhatian bahawa operasi modulo mempamerkan tingkah laku yang ditentukan pelaksanaan apabila hasilnya negatif . Walaupun sesetengah pelaksanaan mungkin mengekalkan tanda negatif, standard ISO14882:2011 tidak lagi menguatkuasakan perkara ini. Oleh itu, tanda masuk negatif (-7 % 3) adalah bergantung kepada sistem.
Atas ialah kandungan terperinci Mengapa Operator Modulo (%) Menghasilkan Keputusan Berbeza dengan Nombor Negatif?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!