一、CRC标准
下表中列出了一些见于标准的CRC资料:
名称
生成多项式
简记式*
应用举例
CRC-4
x4+x+1
3
ITU G.704
CRC-8 x8+x5+x4+1 31 DS18B20
CRC-12
x12+x11+x3+x2+x+1
80F  
CRC-16
x16+x15+x2+1
8005
IBM SDLC
CRC-ITU**
x16+x12+x5+1
1021
ISO HDLC, ITU X.25, V.34/V.41/V.42, PPP-FCS,ZigBee
CRC-32
x32+x26+x23+...+x2+x+1
04C11DB7
ZIP, RAR, IEEE 802 LAN/FDDI, IEEE 1394, PPP-FCS
CRC-32c
x32+x28+x27+...+x8+x6+1
1EDC6F41
SCTP
* 生成多项式的最高幂次项系数是固定的1,故在简记式中,将最高的1统一去掉了,如04C11DB7实际上是104C11DB7。 ** 前称CRC-CCITT。ITU的前身是CCITT。
备注:
(1)生成多项式是标准规定的
(2)CRC校验码是基于将位串看作是系数为0或1的多项式,一个k位的数据流可以看作是关于x的从k-1阶到0阶的k-1次多项式的系数序列。采用此编码,发送方和接收方必须事先商定一个生成多项式G(x),其高位和低位必须是1。要计算m位的帧M(x)的校验和,基本思想是将校验和加在帧的末尾,使这个带校验和的帧的多项式能被G(x)除尽。当接收方收到加有校验和的帧时,用G(x)去除它,如果有余数,则CRC校验错误,只有没有余数的校验才是正确的。
(3) 名称 生成多项式 简记式* 标准引用
CRC-4 x4+x+1                                    3                 ITU G.704
CRC-8 x8+x5+x4+1                             0x31
CRC-8 x8+x2+x1+1                             0x07
CRC-8 x8+x6+x4+x3+x2+x1                0x5E
CRC-12 x12+x11+x3+x2+x+1              80F
CRC-16 x16+x15+x2+1                        8005           IBM SDLC
CRC16-CCITT x16+x12+x5+1               1021            ISO HDLC,ITU X.25,V.34/V.41/V.42, PPP-FCS
CRC-32 x32+x26+x23+...+x2+x+1       04C11DB7    ZIP, RAR, IEEE 802 LAN/FDDI, IEEE 1394, PPP-FCS
CRC-32c x32+x28+x27+...+x8+x6+1    1EDC6F41     SCTP。
 
二、简记式意思 
   CRC-4       x4+x+1                  3         ITU G.704 
   CRC-8       x8+x5+x4+1              0x31                    
   CRC-8       x8+x2+x1+1              0x07                    
   CRC-8       x8+x6+x4+x3+x2+x1       0x5E 
   CRC-12      x12+x11+x3+x+1          80F
   CRC-16      x16+x15+x2+1            8005      IBM SDLC
   CRC16-CCITT x16+x12+x5+1            1021      ISO HDLC, ITU X.25, V.34/V.41/V.42, PPP-FCS 
   CRC-32      x32+x26+x23+...+x2+x+1  04C11DB7 ZIP, RAR, IEEE 802 LAN/FDDI, IEEE 1394, PPP-FCS 
   CRC-32c     x32+x28+x27+...+x8+x6+1  1EDC6F41 SCTP
 
 
         其中CRC-4  0x3=11       最高次幂省略,其余位次对应幂次,即对应多项式有0、1、4次幂
依次类推:CRC-8      0x31=110001  即对应多项式有0、4、5、8次幂
         CRC-16    0x8005= 1000000000000101    即对应多项式有0、2、15、16次幂

最新文章

  1. 给DOM生成的元素添加事件
  2. Objective-C基础2
  3. PAT乙级 1008. 数组元素循环右移问题 (20)
  4. VS2010/MFC编程入门之五(MFC消息映射机制概述)
  5. HDU 5264 pog loves szh I (字符串,水)
  6. 【Entity Framework】初级篇--ObjectContext、ObjectQuery、ObjectStateEntry、ObjectStateManager类的介绍
  7. android NDK 实用学习(五)-c++端调用java接口
  8. linux服务器上apache+php独立于mysql server单独部署
  9. 備份Sqlite DB到XML文件:
  10. Linux——搭建PHP开发环境第二步:PHP
  11. Linux(CentOS)搭建SVN服务器全攻略
  12. Thrift入门 (一)
  13. Microsoft2013校园招聘笔试题及解答
  14. Python爬虫入门教程 19-100 51CTO学院IT技术课程抓取
  15. Generative Adversarial Nets[Introduction]
  16. vim复制粘帖代码
  17. SGD vs Momentum vs NAG vs Adagrad vs Adadelta vs RMSprop vs Adam
  18. A - 地精部落 (DP)
  19. Web Services基础学习(W3C)
  20. Tecnomatix Process Designer & Process Simulate用法

热门文章

  1. ELK 日志学习
  2. 【scrapy】爬虫中报Forbidden by robots.txt
  3. FileItem类的常用方法(关于文件上传的)
  4. vue生命周期简介
  5. centos 7 redis-4.0.11 主从
  6. python基础入门学习简单程序练习
  7. TabError的解决方法
  8. FZU-2150.FireGame.(BFS))
  9. JMeter监控内存及CPU ——plugin插件监控被测系统资源方法
  10. PCB规则设置