要发送的数据是 1101 0110 11,采用CRC 校验,生成多项式是10011,怎么算出被除数啊
时间: 2023-04-05 18:04:10 浏览: 397
首先,将发送的数据和多项式都转换成二进制数。然后,在发送的数据后面添加多项式长度减一个0的位数,即在1101 0110 11后面添加两个0,得到1101 0110 1100。接下来,用多项式去除这个结果,得到余数0100。最后,将余数添加到发送的数据后面,得到最终的被除数1101 0110 1100 0100。
相关问题
要发送的数据是 1101 0010,采用 CRC 校验,生成多项式为 G x = x + x + 1 ,则 在进行模 2 除法时,被除数是( )。
在进行 CRC 校验时,被除数是数据位序列和一定数量的零位。具体来说,被除数是数据位序列后面加上 G(x) - 1 个零位。因此,对于这个问题中的数据位序列 1101 0010 和生成多项式 G(x) = x + x^2 + 1,被除数应该是:
110100100000
因为 G(x) - 1 = x + x^2,所以需要在数据位序列后面添加两个零位。
已知要发送的数据是1101011011,采用CRC校验,生成多项式为G(x)=x4+x+1,求最终发送的数据
CRC (循环冗余检验) 是一种常用的错误检测技术,它会通过将数据和一个特定的生成多项式相"模2"相乘,然后取结果的低位部分附加到原始数据的后面。给定的数据是 `1101011011`,生成多项式 G(x) = x^4 + x + 1。
首先,我们需要对每个二进制位应用生成多项式 G(x) 的除法过程。由于是模2计算,我们可以看作是在二进制数上做算术运算。以下是步骤:
1. 将数据左移四位,补零到足够长度,加上最初的1(因为 CRC 计算通常包括常数项1):
```
1101011011
|
+----+
|1
```
2. 按照生成多项式的系数顺序依次做异或(XOR)操作,从右往左:
- 1 XOR 1 = 0
- 0 XOR 1 = 1
- 1 XOR 0 = 1
- 1 XOR 1 = 0
- 0 XOR 0 = 0
- 0 XOR 1 = 1
- 1 XOR 1 = 0
3. 把每次计算的结果连接起来,形成新的序列:
```
11010110111001
```
最后的结果 `11010110111001` 就是原始数据加上CRC校验后的总和,这部分会被发送出去。接收端可以再次进行相同的CRC计算来验证数据是否完整无误。
阅读全文