- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CRC16查表法中表格数据计算方法和实例
最近在搞CRC校验,用的是CRC16标准,查看了很多资料发现很多讲的都是CRC16-CCITT标准,一直想弄明白CRC-16标准中的采用查表法的方式中那两个表格中的数是如何求出来的。可惜没有一个文章仔细的讲,更没有文章给出实例来算一算。
一切只能靠自己了,谁让我喜欢寻根摸底呢。研究了一下本站会员玉丫子的文章,自己琢磨了琢磨,终于知道是怎么算出来的了。
CRC16算法的生成多项式x^16 + x^15 + x^2 + 1,十六进制表示为0x8005。
CRC16常见的表格中的数据是按照先传输LSB,消息右移进寄存器来计算的。因此需要判断寄存器的最低位LSB,同时要将0x8005按位颠倒后(0xA001)根据LSB的情况决定是否与寄存器异或即可。
CRC16的表格中对应的数依次为0~255计算出来的CRC值,因此,此处只选取其中一两个数作为实例计算CRC值。
具体步骤如下所示:
1)从0~255中选取需要计算的数,将其对应的十六进制数放入一个长度为16的寄存器的低八位,高八位填充0;? ? 2)如果寄存器的末位LSB为1,将寄存器的数值右移1位,再与0xA001位异或,否则仅将寄存器右移1位;? ? 3)重复第2步,直到低八位全部右移出寄存器;? ? 4)寄存器中的值则为校验码。
从0~255中挑选2(对应0x02)计算其CRC值:
0x02的CRC-16的表格计算(反向)00000010?-?最低位LSB?=?0, 高八位填充0?????000000010?右移,高位填充0,并舍弃最后一位??????----------------- 第一次计算???? 00000001 -?LSB?=?1000000001 右移,舍弃最后一位?????00000001?-与0xA001异或??????----------------- 第二次???? 00000001?-?LSB?=?1 ?????000000001右移,舍弃最后一位
00000001?-与0xA001异或??????----------------- 第三次???? 00000001?-?LSB?=?1 ?????000000001右移,舍弃最后一位
00000001?-与0xA001异或??????----------------- 第四次???? 00000001?-?LSB?=?1 ?????000000001右移,舍弃最后一位
00000001?-与0xA001异或??????----------------- 第五次???? 00000001?-?LSB?=?1 ?????000000001右移,舍弃最后一位
00000001?-与0xA001异或??????----------------- 第六次???? 00000001?-?LSB?=?1?????000000001右移,舍弃最后一位
00000001?-与0xA001异或??????----------------- 第七次??? 00000001?-?LSB?=?1 ?????100000001右移,舍弃最后一位
00000001?-与0xA001异或??????----------------- 一共右移了八次,得到的结果为CRC?????10000001?-?CRC: 0xC1 81
从本文最后的附表中可以看出auchCRCHi[]的第三个值就是0x 81,auchCRCLo[]的第三个值就是0xC1,可见计算无误。
另一个计算实例,从0~255中挑选11(对应0x0B)计算其CRC值:
0x0B的CRC-16的表格计算(反向)00001011?-?最低位LSB?=?1, 高八位填充0?????000001011?右移,高位填充0,并舍弃最后一位
00000001?-与0xA001异或??????----------------- 第一次计算???? 00000100 -?LSB?=?0000000100 右移,舍弃最后一位??????------
您可能关注的文档
- 2012年同等学力英语冲刺练习和详解10.doc
- 2012年同等学力英语冲刺练习和详解17.doc
- 2012年同等学力英语冲刺练习和详解13.doc
- 2012年北京市怀柔区中考二模数学试题和答案.doc
- 2012年感动中国10大最美人物.doc
- 2012届同心圆梦专题卷(生物)专题03答案与解析.doc
- 2012年乡村医生考试冲刺试题和答案.ppt
- 2012年新人教版八年级(上)15.1.2_分式基本性质.ppt
- 2012年注册计量师考试自测试题和答案2.doc
- 2012年老河口市中考适应性考试理科综合试题和答案.doc
- 高校教师资格证之《高等教育心理学》考前冲刺练习题库提供答案解析及参考答案详解(研优卷).docx
- 高校教师资格证之《高等教育心理学》考前冲刺练习题库提供答案解析及参考答案详解(实用).docx
- Unit 3 语法课-教学课件优质课件.pptx
- 高校教师资格证之《高等教育心理学》考前冲刺练习题库提供答案解析及参考答案详解(完整版).docx
- 高校教师资格证之《高等教育心理学》考前冲刺练习题库提供答案解析及参考答案详解(培优a卷).docx
- 高校教师资格证之《高等教育心理学》考前冲刺练习题库提供答案解析及参考答案详解(b卷).docx
- 高校教师资格证之《高等教育心理学》考前冲刺练习题库提供答案解析及参考答案详解(精练).docx
- 高校教师资格证之《高等教育心理学》考前冲刺练习题带答案详解(黄金题型).docx
- 高校教师资格证之《高等教育心理学》考前冲刺练习题库提供答案解析参考答案详解.docx
- 高校教师资格证之《高等教育心理学》考前冲刺练习题库提供答案解析及参考答案详解(培优b卷).docx
文档评论(0)