二进制类型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进行异或运算,得到新余数作为被除数的最后一位。