二进制模2除法(CRC校验)

二进制模2除法与二进制除法不同。

模2运算:加法不进位,减法不借位。

二进制除法:

       带借位的二进制除法,根据余数减除数够减与否,确定商1还是商0,若够减则商1,否则商0。

二进制模2除法:

      采用模2减法不带借位的二进制减法,因此考虑余数够减除数与否是没有意义 的。实际上,在CRC运算中,总能保证除数的首位为1,则模2除法运算的商是由余数首位与除数首位的模2除法运算结果确定。因为除数首位总是1,按照模2 除法运算法则,那么余数首位是1就商1,是0就商0

(1)一步步的计算方法:

    模2除法与长除法类似,但有个特点:不借位。说白了就是按位异或,相同为0,不同为1。 
它有三个原则: 
   1、除数与被除数最高几位(与除数位数相同)做异或,商1。(除数首位必须为1) 
   2、余数先去掉首位,若此时余数最高位为1,商1,并对以它为除数继续模2除。 
         若最高位为0,则商0,重复步骤2。 
   3、直到余数位数小于除数位数时,运算结束。 

(2)熟悉规则之后,比较简洁的方法

      1、当余数位数与除数位数相同时,才进行异或运算,余数首位是1,商就是1,余数首位是0,商就是0。

      2、当已经除了几位后,余数位数小于除数,商0,余数往右补一位,位数仍比除数少,则继续商0,当余数位数和除数位数一样时,商1,进行异或运算,得新的余数,以此至被除数最后一位。

 

 

 

  • 250
    点赞
  • 690
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 37
    评论
评论 37
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_39450145

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值