32 ビット CRC を計算する関数があります。
CRC を保持するクラスへの内部変数があります。
CRC の一貫性を検証する関数は、クラスが計算しているクラス CRC のブール値の結果を返します。
クラス内のメンバー関数は次のことを行います。
CRC を一時変数に保存し、CRC を計算してから 2 つの値を比較します。
bool X::CRCisMatching()
{
unsigned long tmpCRC = ClassCRC;
ClassCRC = GetNewCalculatedCRC();
printf("comparing %08x ~ with ~ %08x!\n", tmpCRC, ClassCRC);
return tmpCRC == ClassCRC;
}
問題は、この出力が得られることです。
comparing AB44CD2A33 ~ with ~ AB44CD2A33
%08x で意図した 8 ではなく 10 の値を取得する理由
誰かが前に同様の問題に直面しましたか??
ところで、私は32ビットマシンを使用しています