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校验算法。

 

相关文章:

  • 2022-12-23
  • 2021-11-03
  • 2021-12-26
  • 2021-11-09
  • 2021-04-24
  • 2022-01-13
  • 2021-04-09
  • 2021-10-26
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-20
  • 2022-12-23
  • 2021-10-16
  • 2022-12-23
相关资源
相似解决方案