取模和取余詳解


  • 前言

    關於取模和取余的講解,網上有很多誤人的帖子,我也看了很多,感覺越看越懵,說什么的都有,最終還是得靠自己來證實!

  • 取模和取余的步驟:

    對A和B取模取余操作:A % B

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

    取模和取余的區別僅僅是在計算C的時候不同:

    ​ 取余時:C 值向0靠近取整,比如:

    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( )方法。


免責聲明!

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



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