預備知識:取整分為向上取整、向下取整、向零取整。
首先必須知道 x%y等價於x-(( x//y ) * y ) ,這就是一個公式!! 這個x//y意思是x對y取整
比如python中(是向下取整,即向更小的數取整數):10//3相當於10對3取整:
10➗3=3.333...故向下取整取3即10//3=3
那么10//-3結果計算方式也是這樣:
10➗(-3)=-3.333...向下取整取-4即10//-3=-4(-10//-3=-4)
要知道求余數必須先了解取整,下面看最初的問題:按照剛才的公式
10%-3=10-【(10//-3)* (-3)】=10-【(-4)*(-3)】=10-12=-2
故10%-3=-2
類似的-10%-3=-1也是如此得來!
不同的環境下有着不同的規則,不過大體的過程是與上面是一樣的。