取模和取餘詳解

  • 前言

    關於取模和取餘的講解,網上有不少誤人的帖子,我也看了不少,感受越看越懵,說什麼的都有,最終仍是得靠本身來證明!code

  • 取模和取餘的步驟:

    對A和B取模取餘操做:A % B方法

    1. C = A / B
    2. R = A - C * B

    取模和取餘的區別僅僅是在計算C的時候不一樣:總結

    ​ 取餘時:C 值向0靠近取整,好比:co

    C = A / B = 5 / 3 = 1.666666  靠近0取整,則C取 1 
    C = A / B = -7 / 2 = -3.5   ,靠近0取整,則C取-3

    ​ 取模時:C 值向無窮小處取整,好比:

    C = A / B = 5 / 3 = 1.666666,向無窮小處取整,則C取1
    C = A / B = -7 / 2 = -3.5   ,向無窮小處取整,則C取-4
  • 總結:

    1.當兩個數的符號相同,即同爲負或者同爲正時,取餘和取模結果相同,由於C偏向同一個方向取值,使得C值同樣。

    2.符號不一樣時,取模結果的符號和除數一致,取餘結果的符號和被除數一致。

    3.%號在Java中計算負數時是取餘而不是取模,若是要對負數取模,要用Math.floorMod( )方法。

相關文章
相關標籤/搜索