CRC循环冗余校验码的步骤以及能被整除的原因:
选择一个k阶(则有k+1位,因为最右边的是0阶(次方))的生成多项式作为除数y,在被除数x后面加k个0得到新被除数x1,用新被除数x1除以(模2除)除数y,得到k位的余数z,将k位的余数z加到新被除数x1后面,就得到要传输的值x2了。
y有k阶
x1=x<<k
余数:z=x1%y (模2除,因为是模2除,所以余数应该是k位(比除数少一位))
商:tmp=x1/y (模2除)
则(模2加时,加法同减法)
x2=x1+z=x1-z=tmp*y (模2)
则被传输的x2应该能被除数y整除(模2),否则传输过程出错。
选择一个k阶(则有k+1位,因为最右边的是0阶(次方))的生成多项式作为除数y,在被除数x后面加k个0得到新被除数x1,用新被除数x1除以(模2除)除数y,得到k位的余数z,将k位的余数z加到新被除数x1后面,就得到要传输的值x2了。
y有k阶
x1=x<<k
余数:z=x1%y (模2除,因为是模2除,所以余数应该是k位(比除数少一位))
商:tmp=x1/y (模2除)
则(模2加时,加法同减法)
x2=x1+z=x1-z=tmp*y (模2)
则被传输的x2应该能被除数y整除(模2),否则传输过程出错。