負數取余的含義


自然數取余定義分為兩種:

定義一

定義1:如果a和d是兩個自然數,d非零,可以證明存在兩個唯一的整數 q 和 r,滿足a=qd+r且0 ≤ r < d(其中q為商,r為余數)。

定義1一般作為數學中的取余法則,即兩個數取余,余數總是為正數。

舉例:

  • 5%3=3x1+2,商為1,余數為2
  • (-5)%(-3)=(-3)x2+1,商為2,余數為1
  • 5%(-3)=(-3)x(-1)+2,商為-1,余數為2
  • (-5)%3=3x(-2)+1,商為-2,余數為1

定義二

定義2:如果a 與d 是整數,d 非零,那么余數 r 滿足這樣的關系:a = qd + r , q 為整數,且0 ≤ |r| < |d|。定義2取余的結果就會導致出現兩個余數了,比如5%(-3) = (-3)x(-1)+2 = (-3)x(-2)-1,所以這里的余數2和-1都滿足定義。

我們把2稱為正余數,-1成為負余數。通常,當除以d 時,如果正余數為r1,負余數為r2,那么有r1 = r2 + d。
所有語言和計算器都遵循了盡量讓商盡量靠近0的原則,即5%(-3) 的結果為2而不是-1,(-5)%3的結果是-2而不是1。


總結

1)不管是兩個同號數取余還是兩個異號數取余,取余結果是正整數才是我們生活中普遍認可的結果。

2)在編譯器中,兩個異號的數取余之后的結果取決於分子的符號。負數%負數,編譯器會將分母的負數自動轉換為正整數,然后再將分子負數的負號提取出來,將兩個正整數取余,最后的結果加上負號就好了。負數%正數,編譯器先將分子負數的負號提取出來,將兩個正整數取余,最后結果加上負號即可。正數%負數,編譯器自動將分母負數轉換為正整數,然后兩個正整數取余得到就是最終結果。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM