当位数不是8的倍数时

时间:2018-07-11 10:05:06

标签: c++ crc crc32 crc16

我要使用8分片算法实现CRC24C计算。我已经成功实现了数据位数为8的倍数的情况,但是当输入位数不是8的倍数时,逐8切片算法失败。我打算将数据位分成两部分,一部分包含#的数据位,是8的倍数,另一部分包含剩余的位。分别计算CRC24C并将其组合。但是,我无法找出一种方法来组合两个单独计算的CRC。任何建议或想法都将非常有帮助。

1 个答案:

答案 0 :(得分:0)

您可以使用一个简单的函数来计算CRC的前几位和/或后几位,具体取决于您的数据在内存中的布局方式。我不知道您正在使用哪个24位CRC,但是对于这个:

REACT_APP_GRAPHQL_URI = https://example.com

此C代码将用width=24 poly=0x864cfb init=0xb704ce refin=false refout=false xorout=0x000000 check=0x21cf02 residue=0x000000 name="CRC-24" 的低字节中的高crc位来更新bits

val

您可以使用crcany为任何CRC定义生成类似的代码。