当前位置:首页 > 百科知识 > 正文

crc校验码计算-crc校验码计算器在线

    crc校验码计算-crc校验码计算器在线

大家好!边肖现在在线给大家详细分析一下关于crc校验码计算和crc校验码计算器的知识点。希望文章内容对你目前遇到的问题有所帮助。如果有用,别忘了收藏这个网站。接下来开始吧!

本文的要点:

1.这个crc码怎么算?

2.crc码的计算方法

3.labview i2ccrc校验码的计算方法

4.crc校验码的计算

5.crc校验码怎么算?

6.如何计算crc16校验码?

这个crc码怎么算?

2018年1月7日星期日,

抱歉,我今天才看到,

我先说crc相关概念,然后开始解题。

1.多项式形式与二进制形式相关,因子是对应的。

比如问题中,发送多项式为:x 11+x 8+x 7+x 6+x 4+x 3+x 2+1,

即2 11+2 8+2 7+2 6+2 4+2 3+2 2+1,

所以,对应的二进制形式是:10011101101,

这里的传输多项式意味着原始数据没有经过crc校验操作,

2.类似地,crc生成多项式也对应于一组二进制数,

例如,在问题中,crc生成多项式为:x 4+x 2+x 1+1,

也就是2 4+2 2+2 1+1,

对应的二进制是:10111,

生成多项式是人为指定的,没有固定值。可以指定为x 4+x 3+x 2+x 1+1,即1111。

3.发送多项式的二进制形式是:10011101101,这是我们的原始数据,

生成多项式的二进制形式是:10111。我们用它按照crc规则对原始数据进行运算后,就可以得到我们要在线路上传输的,并且已经通过crc校验的原始数据的crc码。

这里简单的理解就是我们要用原始数据计算给定的crc生成多项式,得到一串带crc校验的二进制数。我们把这串带crc校验的二进制数称为原始数据的crc编码,也就是题目中的“发送多项式的crc编码”。

4.接下来是crc计算规则,

发送多项式的二进制形式向左移位(crc生成多项式的最高幂的指数)。这个问题中crc生成多项式的最高幂是x ^ 4。因此,发送多项式应左移4位。

计算如下:

100111011101 * 2^4

=100111011101 0000,

这样算下来,原始数据右边有四个零,也就是四个空位。以后计算出来的crc校验码会放在这四个空位上,4位数的crc校验码会填在这四个车位上。

根据crc规则,使用修正传输多项式的二进制形式:10011011010000,去掉crc生成的多项式的二进制形式:10111,

请注意,这里使用的除法不是数学领域的除法,而是计算机中模除以二的计算方法。其实就是异或运算。实际的操作方法是将两个数的高位对齐,即左对齐,然后逐位异或。如果相同,则结果为0;如果它们不同,结果将是1。然后将得到的数除以除数(即生成多项式),直到最后得到最后的余数。一般来说,我们是按照crc校验规则来计算的,一般是用不完的。这个余数就是我们需要的crc校验码。将这个crc校验码与变形后的原始数据(即右边加了4个零的原始数据)按照crc规则组合,就是最终答案。

计算步骤如下:

1001110111010000/10111

…………………………………………

10011101101010000分红,变形后原始数据,

0111除数,crc生成多项式

—————————

010010111010000的商,然后继续除以crc生成多项式:10111。

…………………………………………

被除数1010111010000是前面运算得到的商。

0111除数

————————

0101111010000商,然后继续除以crc生成多项式:10111。

……………………………………………

01111010000被除数,即上一步得到的商。

0111除数

———————

00001010000商

………………………………………………

1010000股息

0111除数

———

001100余数(也是上一步得到的商,因为位数小于5,所以不能继续。此外,4位1100不能与5位crc生成多项式10111进行模除,所以这个商称为余数。)

根据crc校验运算规则,最后一次运算后得到的crc校验码:1100与变形后的原始数据:10011011010000相结合,这就是我们最终需要的。在线路上用crc校验码传输,crc编码,也就是题目中提到的发送多项式的crc编码。

计算过程如下:

1001110111010000+1100

………………………………………………

100111011101 0000

+ 1100

——————————

100111011101 1100

这里需要说明的是,只有了解了crc编码的规则,你才能在以后从容应对这类问题。我给你的建议是多做题,最好是有正确答案的题,这样在做题的过程中,你对crc编码的理解就会加深。

最后,让我们回顾一下crc编码的规则。

1.原始数据多项式,我们一般称之为:c(x),也叫m(x)。

2.生成多项式,我们一般称之为:g(x)。

3.crc校验码,我们一般称之为:r(x),

4.我们先用变形的c(x),去掉g(x)得到r(x)。然后,我们将变形后的c(x)与r(x)结合,得到我们最终需要的带crc校验的crc码。

这里我想再说一遍为什么生成多项式的最高次幂是几,最后余数是几。

比如这个例子,生成多项式是:x 4+x 2+x 1+1,最后余数是4位数1100。

这个规则可以推导出来,

首先把生成多项式中的1改写成X ^ 0,就有X ^ 4+X ^ 2+X ^ 1+X ^ 0,

很明显,指数是从0开始的。虽然中间有一个指数3因为权值上的值是0而没有写在生成多项式中,但它是生成多项式二进制形式的数0,这不是重点。

重点是,我们一眼就能看出指数是从0开始的,而不是1。所以以本题为例,当生成多项式的最高幂是x ^ 4,即指数为4时,幂的右边一定有一个4位二进制数,因为这个幂的幂决定了生成多项式一定是一个5位二进制数,最高幂的幂是右数第五位。

结合开头的描述,原值要乘以2的生成多项式的最高次幂,也就是原值要左移多少位才能腾出余数。

另一个巧妙之处在于,因为生成多项式的二进制形式的最高位必须是1,所以在XOR运算结束时获得的余数的位数必须小于生成多项式的二进制形式的位数。举这个例子,生成多项式是:

x^4+x^2+x^1+1

对应的二进制形式是:

10111

所以,不管原值中剩下什么组合,只要是10111左对齐,由于异或运算,最高位就必须改为0,所以最后余数的二进制位数必须小于生成多项式的二进制位数。

然后,索引从0开始,

因此,生成多项式的最高次幂可以确定余数的位数,

crc码的计算方法

给信息加四个零,去掉多项式得到余数,余数是* * * *

那么传输的12位就是11001101 * * *。

计算机网络自上而下的方法书上有!

LabVIEW中I2C CRC校验码的计算方法

你知道有限域还是模除吗?我不知道,那下面就谈不下去了。

crc算法基于有限域gf(2),通过将R位校验附加到P位数据来形成crc校验码。R位校验码的生成是通过将不可约多项式g(x)除以校验数据模2来获得的。g(x)常用的值有420,84210,8541等。(每一位表示该位对应的项系数为1)。我通过一个例子简单说明一下算法过程:假设crc校验为(7,4),即7位crc码,其中4位为数据位,3位为校验位。生成的不可约多项式是g(x)=x_+x+1=1011=310。现在要传输的数据m(x)是1101=x_+x_+1。先乘以x_,也就是后面加三个零,就成了1101000。然后计算有限域gf(2)=f2[x]/g(x)中x ^ 6+x ^ 5+x ^ 3的同余公式,即1101000除以g(x)=1011模2,结果是1111剩余001,这就是我们要找的校验码。余数001加到原多项式m(x)的末尾,变成1101001。该序列是最终的crc校验码。

Crc校验码计算

10101101010101之后加五个零然后除以110101,这样11011111001的余数就是1101。如果少于五位数,当五位数加满时就变成01101。

所以实际传输的包含crc校验码的数据的比特序列是10101101010101101。

crc校验码怎么算?

我先举个例子:

给定信息位为1100,生成多项式g(x) = x3+x+1,求crc码。

m(x)= 1100m(x)* x3 = 1100000g(x)= 1011

m(x)* x3/g(x)= 1110+010/1011 r(x)= 010

crc码为:m(x)* x ^ 3+r(x)= 1100000+010 = 1100010。

原理是:crc码一般是在K个信息比特后拼接R个校验位生成的。编码步骤如下:

(1)要编码的k比特信息被表示为多项式m(x)。

(2)将m(x)左移R位,得到m(x)*xr。

(3)用r+1位的生成多项式g(x)去掉m(x)*xr,得到余数r(x)。

(4) m(x)*xr和r(x)以2为模相加得到crc码。

如何计算crc16校验码

首先可以得到g(x)=x3+x+1即G(X)= 1011[G(X)中的1表示二进制的第0位为1,X表示第一位为1。没有X 2,所以第二位是0,X 3表示第三位是1。所以是1011]

m(x)=0011m(x)*x3=0011000

m(x)*x3/g(x)的余数是101,所以r(x)=101。

Crc码为:m(x)* x3+r(x)= 0011000+010 = 0011010

在计算机网络通信中

与其他校验方法相比,crc具有一定的优势。Crc可以高比例地纠正信息传输过程中的错误,在极短的时间内完成数据校验码的计算,快速完成纠错过程。数据包的自动重传大大提高了计算机的通信速度,保证了通信效率和安全性。Crc算法由于具有很强的检错能力和较低的检测成本,被广泛应用于编码器和电路的检测中。

以上内容参考:百度百科-crc

好了,crc校验码的计算介绍到此结束。我相信你已经找到了一些有用的关于crc校验码计算器的在线答案。有关crc校验码计算的更多信息,请参见下面的相关文章。

crc校验码计算-crc校验码计算器在线,crc校验码计算方法,crc校验码计算程序代码,CRC校验码计算器,crc校验码计算公式,crc校验码计算代码c语言,crc校验码网页在线计算,crc校验码手动计算例题,crc16校验码计算工具,crc16校验码计算器在线,crc校验码计算软件