模2除法(CRC校验码计算)

模2除法(CRC校验码计算)

鉴于网上的讲解自己好不容易才看懂…所以整理了一下, 也方便大家能够理解

模2加减法模2除法需要用到模2加减法,关于模2加减法,其实就是异或操作,规则如下:

代码语言:javascript代码运行次数:0运行复制//不需要考虑进位和借位

0 ± 0 = 0

1 ± 1 = 0

0 ± 1 = 1

1 ± 0 = 1

例: 1101 ± 1001 = 0100

计算如下:

1 1 0 1

± 1 0 0 1

-----------

0 1 0 0简记:同为0,异为1

模2除法:规则:假设被除数X,和除数P,余数R

X除以P(对X和P做模2加减法),当前X首位为1时,商1,为0时商0

所得余数R去除首位(即左移一位):

若R第一位为0,将其作为新的被除数,除以0,此时其首位为0,商即为0

若R第一位为1,将其作为新的被除数,除以P,此时其首位为1,商即为1

重复第2步直到R位数少于P位数

例:1111000对除数1101做模2除法:先说结果: 商1011余111整体运算代码语言:javascript代码运行次数:0运行复制 1 0 1 1 //商

---------------

1 1 1 1 0 0 0 //被除数,注意首位为1

1 1 0 1 //被除数首位为1,除以除数

---------------

0 1 0 0 0 0 //余数去除首位,作为新的被除数

0 0 0 0 //被除数首位为0,除以0

---------------

1 0 0 0 0 //余数去除首位,作为新的被除数

1 1 0 1 //被除数首位为1,除以除数

---------------

1 0 1 0 //余数去除首位,作为新的被除数

1 1 0 1 //被除数首位为1,除以除数

---------------

1 1 1 //余数,此时余数位数少于除数,不能继续除了分步分析第一步(每一步其实都是模2加减法运算):代码语言:javascript代码运行次数:0运行复制 1 //商

-------------

1 1 1 1 0 0 0 //被除数,注意首位为1

1 1 0 1 //除数

-------------

0 0 1 0 0 0 0 //余数,模2运算后结果 商的第一位:被除数首位为1,商为1(只要被除数首位非0,商就是1)

第二步:余数去除首位(左移一位),当第一位为0时,除以0;为1时,除以除数。代码语言:javascript代码运行次数:0运行复制 1 0 //商

---------------

0 1 0 0 0 0 //余数去除首位,作为新的被除数

0 0 0 0 //被除数首位为0,除以0

---------------

0 1 0 0 0 0 //余数,模2运算后结果 商的第二位:被除数首位为0,商为0(只要被除数首位是0商就是0)

第三步代码语言:javascript代码运行次数:0运行复制 1 0 1 //商

----------------

1 0 0 0 0 //余数去除首位,作为新的被除数

1 1 0 1 //被除数首位为1,除以除数

----------------

0 1 0 1 0 //余数,模2运算后结果 商的第三位:被除数首位为1,商为1

第四步代码语言:javascript代码运行次数:0运行复制 1 0 1 1 //商

----------------

1 0 1 0 //余数去除首位,作为新的被除数

1 1 0 1 //被除数首位为1,除以除数

----------------

0 1 1 1 //余数,此时余数位数(这里的0要忽略掉,不参与下一轮,因为最上面的被除数后面

//没有数可以给这里往后补一位了)少于除数位数,不能继续除了 商的第四位:被除数首位为1,商为1

此时不能继续做除法,计算结束

得到最终结果: 商1011余111版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/200865.html原文链接:https://javaforall.cn

相关风暴

学米网怎么样?学米网如何好不好?
英国手机版365

学米网怎么样?学米网如何好不好?

🌀 09-15 🌊 阅读 1873
塘鲺脏还是鲶鱼脏?
英国手机版365

塘鲺脏还是鲶鱼脏?

🌀 08-30 🌊 阅读 7070
浙江大学软件学院面经
英国手机版365

浙江大学软件学院面经

🌀 09-17 🌊 阅读 2684
最佳现金借款APP推荐:快速借款轻松申请,实时到账
英国手机版365

最佳现金借款APP推荐:快速借款轻松申请,实时到账

🌀 08-19 🌊 阅读 5529