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