CRC的LSB表示方式该如何计算?
时间:10-02
整理:3721RD
点击:
现在在做一个以太网的项目,在看CRC相关概念的时候有些疑问。
CRC的多项式二进制表示有LSB和MSB两种方式,对于MSB的表示和计算我都很清楚,手工计算的结果也和格西CRC计算器结果一致。但是在进行LSB表示方式计算的时候遇到了问题。
比如对0xA7进行多项式为x^8+x^2+x^1+1的CRC-8计算,多项式的MSB表示为0x07,计算出的结果为0x7C,是正确的;如果换成LSB表示的多项式应该为0xE0,但是这样的话用1010011100000000B除以111000001B,得出的结果是000101001B=0x29,即使将0xA7也转换为LSB的1110010100000000B,得出的结果是011000111B=0xC7,都和格西CRC计算器结果0x02不一致。
那么到底在对LSB表示的CRC该如何计算?还是说我的计算过程有问题?
CRC的多项式二进制表示有LSB和MSB两种方式,对于MSB的表示和计算我都很清楚,手工计算的结果也和格西CRC计算器结果一致。但是在进行LSB表示方式计算的时候遇到了问题。
比如对0xA7进行多项式为x^8+x^2+x^1+1的CRC-8计算,多项式的MSB表示为0x07,计算出的结果为0x7C,是正确的;如果换成LSB表示的多项式应该为0xE0,但是这样的话用1010011100000000B除以111000001B,得出的结果是000101001B=0x29,即使将0xA7也转换为LSB的1110010100000000B,得出的结果是011000111B=0xC7,都和格西CRC计算器结果0x02不一致。
那么到底在对LSB表示的CRC该如何计算?还是说我的计算过程有问题?