C++ 使用qchecksum代替boost crc16
我想在数据包上使用crc16,而不是,但我不能使用相同的结果。我如何在qt中像boost crc一样接受crc16校验和C++ 使用qchecksum代替boost crc16,c++,qt,boost,crc,C++,Qt,Boost,Crc,我想在数据包上使用crc16,而不是,但我不能使用相同的结果。我如何在qt中像boost crc一样接受crc16校验和 boost::crc<16, 0x1040, 0, 0, false, false>(packet, 4) boost::crc(数据包,4) 有许多CRC-16多项式和参数集。qchecksum只是其中一个的实现。所以不,你不能让qchecksum匹配任意的boost校验和。但如果这是一个选项,您可以调整boost校验和参数以匹配qchecksum 查看qch
boost::crc<16, 0x1040, 0, 0, false, false>(packet, 4)
boost::crc(数据包,4)
有许多CRC-16多项式和参数集。qchecksum只是其中一个的实现。所以不,你不能让qchecksum匹配任意的boost校验和。但如果这是一个选项,您可以调整boost校验和参数以匹配qchecksum
查看qchecksum源代码(并使用参数),似乎是这样的:
boost::crc<16, 0x1021, 0xFFFF, 0xFFFF, true, true>
boost::crc
您能告诉我们您尝试使用QChecksum
的线路吗?@Torbjörn,假设数据包等于“0x00000000”,则boost crc等于零,但qt crc等于64734没有一个16位crc多项式,也没有一种方法使用一个多项式来计算crc。为什么假设boost和Qt使用相同的多项式,参数相同?