我有一个计算 32 位 CRC 的函数,
我有一个保存 CRC 的类的内部变量。
验证 CRC 一致性的函数返回 CRC 类的布尔结果以及该类正在计算的结果,
类中的成员函数执行下一个,
将 CRC 保存到临时变量中,计算 CRC 然后比较两个值。
bool X::CRCisMatching()
{
unsigned long tmpCRC = ClassCRC;
ClassCRC = GetNewCalculatedCRC();
printf("comparing %08x ~ with ~ %08x!\n", tmpCRC, ClassCRC);
return tmpCRC == ClassCRC;
}
问题是我得到了这个输出,
comparing AB44CD2A33 ~ with ~ AB44CD2A33
为什么我得到 10 个值而不是 %08x 预期的 8 个值
以前有没有人遇到过类似的问题??
顺便说一句,我使用的是 32 位机器