今天看書發現python與C的負數取余運算結果不同,查資料理解.
取余運算的算法是相同的 r = a- n*(a/n) n!=0
r是余數,a是被除數,n是除數.n不能為0,否則都會報錯.
負數取余運算的區別在於除法的取整方向不同,C語言從C99開始規定向0取整,python規定向負無窮取整.
python a%n的符號與n相同 -11//4 #值為-3 -11%4 -> (-11) -4*(-11//4) =1 #值為1
C語言 a%n的符號與a相同 -11/4 //值為-2 -11%4 (-11) - 4*(-11/4) =-3 //值為-3