ウィキペディア ( http://en.wikipedia.org/wiki/Cyclic_redundancy_check )からこのステートメントを確認しようとしています:
実装では、多項式除算が発生する前にチェックするビットストリームにn個の 0 ビット ( nは CRC のサイズ) を追加することがあります。これには、チェック値が追加された元のビットストリームの剰余が正確にゼロになるという便利さがあるため、受信したビットストリームに対して多項式除算を実行し、剰余をゼロと比較するだけで CRC をチェックできます。
http://www.lammertbies.nl/comm/info/crc-calculation.htmlのオンライン CRC-32 計算機を使用しました
- 元のメッセージは「test」または 0x74657374 で、CRC-32 は 0xD87F7E0C です。
- 次に、4 つのゼロ バイトを追加して、メッセージが 0x7465737400000000、その CRC-32 が 0x15521A21 になるようにします。
- 次にゼロを手順 2 の CRC-32 に置き換えます。メッセージは 0x7465737415521A21 です。
- 0x7465737415521A21 の CRC32 は 0xE1E9ADD7 ですが、ここは 0 ではないでしょうか?
誰が何が悪かったのか教えてもらえますか?