C語言 模2除法


 

C語言中的模2除法:
模2除做法與算術除法類似,但每一位除(減)的結果不影響其它位,即不向上一位借位。所以實際上就是異或。然后再移位移位做下一位的模2減。
步驟如下:
a、用除數對被除數最高n位做模2減,沒有借位。
    (模2減規則:000 011 101 110)

b、除數右移一位,若余數最高位為1,商為1,並對余數做模2減。若余數最高位為0,商為0,除數繼續右移一位。

c、一直做到余數的位數小於除數時,該余數就是最終余數。
舉例:
1.  1100100÷1011 = 1110.....110
         1011
         ————————
    1011|1100100
         1011
         ————
         01111
          1011
          ————
          01000
           1011
           ————
           00110
           
2.  1111000÷1101 = 1011.....111
         1011
         ————————
    1101|1111000
         1101
         ————
         00100
          0000
          ————
          01000
           1101
           ————
           01010
            1101
            ————
            0111

用於實現CRC校驗算法。

 


免責聲明!

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



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