Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Binary 使用CRC/多项式密钥的二进制消息错误检测_Binary_Checksum_Crc_Error Detection - Fatal编程技术网

Binary 使用CRC/多项式密钥的二进制消息错误检测

Binary 使用CRC/多项式密钥的二进制消息错误检测,binary,checksum,crc,error-detection,Binary,Checksum,Crc,Error Detection,我不熟悉CRC和校验和,正在尝试以下查询: 我试图使用生成器多项式p=x5+x4+x2+1确定CRC 要发送的消息为=1010001101 对于我的问题,我被要求: 显示多项式键 计算CRC& 要传输的消息 我的尝试如下: 多项式生成器是p=x5+x4+x2+1。我算出的是110101(x为5=1的幂;x为4=1的幂;x为3=0的幂;x为2=1的幂;x为1=0的幂;1=1) 然后我将其划分为要发送的消息:1010001101(msg)/110101(polyn) 结果=11010;余数:00

我不熟悉CRC和校验和,正在尝试以下查询:

我试图使用生成器多项式p=x5+x4+x2+1确定CRC

要发送的消息为=1010001101

对于我的问题,我被要求:

  • 显示多项式键
  • 计算CRC&
  • 要传输的消息
我的尝试如下:

  • 多项式生成器是p=x5+x4+x2+1。我算出的是110101(x为5=1的幂;x为4=1的幂;x为3=0的幂;x为2=1的幂;x为1=0的幂;1=1)

  • 然后我将其划分为要发送的消息:1010001101(msg)/110101(polyn) 结果=11010;余数:0001111
  • 对于要传输的消息,我已经从原始消息中减去了余数(1010001101-00011111=101011111)。这是正确的吗

    CRC是消息除以多项式后剩余的(余数)数吗

    用于错误检查。。如果没有余数,则接收到的消息中没有错误,这样说是否正确?或者,如果没有,如何确定收到的消息中是否存在错误

    非常感谢您的帮助


    非常感谢。

    因为CRC多项式是5次多项式,所以余数有5位。因此,传输的消息将这5位附加到其末尾(而不是像您那样从消息中减去)。在您的例子中,您的除法是正确的,CRC是11111(5位),因此要发送的消息是10100010111111


    对于错误检查,当您将附加了CRC的消息除以CRC多项式时,如果未检测到错误,您将得到00000的余数(请注意,检测到的是这里的关键-在一般情况下,您可能会出现导致相同零余数的错误,但概率非常低,在您的特定情况下,有了这样的短消息,您可能是安全的)。

    非常感谢。这真的很有帮助。非常感谢。