模2除法(CRC校验码计算)
最近学习到CRC效验码,看书感觉生涩难懂,在网上找的某博主的文章,感觉通俗易懂。
模2加减法
模2除法需要用到模2加减法
,关于模2加减法
,其实就是异或操作,规则如下:
模2除法:
规则:假设被除数X,和除数P,余数R
1. X除以P(对X和P做模2加减法),被除数首位为1时,商1,为0时商0
2.所得余数去除首位(即左移一位):
1. R第一位为0,将其作为新的被除数,除以0,此时其首位为0,商即为0
2. R第一位为1,将其作为新的被除数,除以P,此时其首位为1,商即为1
3. 重复第2步直到R位数少于P位数
例:1111000
对除数1101
做模2除法:
先说结果: 商1011
余111
整体运算
分步分析
第一步(每一步其实都是模2加减法运算):
商的第一位:被除数首位为1,商为1(只要被除数首位非0,商就是1)
第二步:余数去除首位(左移一位),当第一位为0时,除以0;为1时,除以除数。
商的第二位:被除数首位为0,商为0(只要被除数首位是0商就是0)
第三步
商的第三位:被除数首位为1,商为1
第四步
商的第四位:被除数首位为1,商为1
此时不能继续做除法,计算结束
得到最终结果: 商1011
余111
转自:https://me.csdn.net/qq_33411687
【推荐】国内首个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最大的设计失误
· 单元测试从入门到精通