CRC校验
假设要发送的数据是:0b10110010,其对应的多项式称为g(x);指定生成多项式为:CRC-4为h(x)=x4+x3+x2+x+1(即0b11111),数据和生成多项式二进制相除g(x)/h(x)(异或)生成的校验字段为:0b0100,那么发送的码字为0b101100100100,将其发送出去。
接收端接收到码字后,将码字与生成多项式二进制相除(异或),如果能整除则说明接收的数据是正确的,若不能整除说明数据传输过程中出现了错误,接收的是错误的。
异或:
二进制相除:
参考:
http://www.cnblogs.com/94cool/p/3559585.html
http://www.360doc.com/content/12/0324/17/110467_197300430.shtml
实现参考 linux内核lib下的CRC实现文件。
posted on 2017-07-08 12:17 Hello-World3 阅读(277) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!