負數究竟是如何取模的?
負數取模的時候,c和python用的是兩種不同的思路;c是將余數符號由被除數決定,與除數沒有關系,然后只將兩個數的數值拿來計算就可以了;python則是除數為正數,則余數的范圍為0到出書之間;除數為負數,則余數的范圍為除數到0之間;兩種思路比如:
c語言的思路:-5%3 =-1......-2
python的思路:-5%3=-2...1
我們可以通過計算公式:被除數=除數*商+余數 來證明
-5=3*(-1)-2
-5= 3*(-2)+1
正確
c語言思路:-5%(-3)=1...-2
python思路:-5%(-3)=2...1
驗證:
-5=(-3)*1-2
-5=(-3)*2+1
所以兩種思路都行,就看最后是用哪一種規定實現了