forrest11 发表于 2012-12-19 17:33

请求CRC相关解惑(Hotpower能来看更好)

请看下面图片,CRC校验码产生本来很简单,但按照下图的要求,Byte交换,取补码(或反码)。我怎么都不能从C0FC产生0EF8, 也不能从C0FC0EF8产生470F,求帮助。



txcy 发表于 2012-12-19 23:00

Hotpower最近似乎很忙

dfsa 发表于 2012-12-19 23:15

这个应该是Hotpower的专长

火箭球迷 发表于 2012-12-19 23:26

说的详细点

forrest11 发表于 2012-12-20 00:49

本帖最后由 forrest11 于 2012-12-20 00:51 编辑

我的理解,大概的意思是:
当多项式为:X16+X12+X5+1(CRC16_CCITT),初值为FFFF时,
对输入数据进行计算(LSB优先,这里的LSB应该是Bit而不是Byte,但不确定),然后对输出结果Byte交换,且取反(或取补),即得到CRC校验值。
为了验证此校验值是否正确,可用上述方法同样将数据+CRC计算一次,得到的结果为0x470F即为正确。
然后举例:0xC0FC经过计算得到0EF8;C0FC0EF8经过计算得到0x470F
可我怎么都算不出来。

forrest11 发表于 2012-12-20 15:35

自己知道了,谢谢!结贴。

gxgclg 发表于 2012-12-20 23:14

这个有点深奥

hotpower 发表于 2015-10-23 12:50

我下午穷举一下

hotpower 发表于 2018-12-30 01:40

http://www.hotpage.com.cn/hotcrc

hotpower 发表于 2018-12-30 01:41

2017年我升级了hotcrc,可以理论上**任意CRC了。
页: [1]
查看完整版本: 请求CRC相关解惑(Hotpower能来看更好)