奇偶校验码浅谈
1.什么是奇偶校验码
奇偶校验码也是一种校验码,它用来检测数据传输过程中是否发生错误,是众多校验码中最为简单的一种。
顾名思义,它有两种校验方法:奇校验和偶校验
奇校验:原始码流+校验位 总共有奇数个1
偶校验:原始码流+校验位 总共有偶数个1
2. 算法
跟CRC类似,也是在原始码流后面,加上校验位。不同的是,它的校验位只有一位,要么是0,要么是1。并且它的校验码还可以放在码流的前面。
如下图。
例如下图有5组原始码,校验位的计算方法如下。红色代表校验位。
相信大家稍微动下脑子就能想明白,我就不做过多解释了。
3. 应用举例
奇偶校验码一个最为常见的应用场合就是ASCII码。
ASCII码占用一个字节,低7位是有效位,最高位用作奇偶校验。
4. 错误检测能力
只能检测出奇数个错误。
例如还是ASCII码 大写字母 A
奇校验 正确码流 11000001
错1位 11000011 变成了偶数个1,能检测出错误
错2位 11000010 变成了奇数个1,检测不出错误
错3位 11001010 变成了偶数个1,能检测出错误
偶校验 正确码流 01000001
错1位 01000011 变成了奇数个1,能检测出错误
错2位 01000010 变成了偶数个1,检测不出错误
错3位 01001010 变成了奇数个1,能检测出错误
5. 奇校验还是偶校验
那么使用中是选择奇校验还是偶校验呢? 其实都有应用了。
奇校验一个重要的特征是产生不了全0代码,所以在实际操作过程中选择的时候要考虑到这一点。
导航
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通