浅谈奇偶校验和CRC校验

1.奇偶校验

奇校验:"1"的个数为奇数

偶校验:"1"的个数为偶数

(补充的1位校验码放在前后其实都可以,这里是往后面放)

比如 001的奇校验0010, 偶校验0011

比如 010的奇校验0100,偶校验0101

比如 011的奇校验0111,偶校验0110

简简单单 ,但是为什么奇偶校验的码距是2呢?

首先需要知道码距是什么定义

比如 000和001的码距是1

注意000和001是在三位数的二进制编码中的最小距离,而码距是编码系统的合法编码之间的最小码,因此才可以计算000和001的码距为1

比如000和011,000和011不是这个编码系统的最小距离,因此要转换成000和001在比较码距,结果还是1

那么结果就出来了 (偶校验举例)

001->0011

010->0101

从001变成0011之后就变成了一个新的编码系统(不能按单纯的2进制算了,001对应0011,001的下一位是010,那么0011的下一位就是0101)

因此0011和0101就是这个编码系统的最小距离,因此计算2个数之间的不同,得出码距是2.

因此奇偶校验码的码距为2就是这样推断出来的

 2.CRC校验

原理不说,直接解题过程

原始数据信息=1100,多项式=,求CRC编码

可知最多3次方,那么对应的除数位是(3+1)=4位,从多项式可知,4位的数字中,0,1,3都是1(看上面式子的平方次数,从0开始数,从右到左数),因此得出除数是 1011

 

 特殊的除法运算(就是上下2行相同就是0,不同就是1,然后补齐到和除数一样的位数,这里是4位,然后计算到最后)得出是 10 ,因为最大的平方数是3,因此要补齐(前面补0),补齐后结果是010

最后结果是原数据+补齐后的结果 1100010

 

posted @   大大只植物  阅读(294)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示