关于CRC16校验 的问题

来源:百度知道 编辑:UC知道 时间:2024/05/29 18:23:05
我在网上看了一篇关于CRC校验的文章,里边有不明白的地方,请教大家。

部分摘选:
1.如生成多项式为G(x)=x4+x3+x+1, 可转换为二进制数码11011。
2.在数据通信与网络中,通常k相当大,由一千甚至数千数据位构成一帧,而后采用CRC码产生r位的校验位。它只能检测出错误,而不能纠正错误。一般取r=16,标准的16位生成多项式有CRC-16=x16+x15+x2+1 和 CRC-CCITT=x16+x15+x2+1。

问:1.是不是除数是11011 共5位?原始数据需要左移4位?
2.如果1的问题是对的,那么在CRC16,X的最高次幂是16,除数是不是应该是17位?原始数据左移16位?

(1)如果生成多项式是题一中说述,那么除数是11011这五位,原始数据要在最后添加4个零。以此类推。生成多项式如果有n项则原始数据后面要添加n-1个零。

(2)是的,除数的位数是生成多项式的最高次幂数加一。