この記事からの引用:
多くの業界では、最初の多項式を使用して CRC テーブルを作成し、それをパフォーマンスのために適用しています。IEEE 802.3 で定義されているデフォルトの多項式は、16 ビットの場合は 0xA001、32 ビットの場合は 0x04C11DB7 です。ここでは C# を使用しているため、16 ビットの場合は 0x8408、32 ビットの場合は 0xEDB88320 の反転バージョンを使用する必要があります。サンプルでもこれらの多項式を使用します。
C# で hex によって定義された int の逆バージョンを使用する必要があるのはなぜですか?
そして、引用された記事の著者はどのようにして04C11DB7を0xEDB88320に反転したのでしょうか?
また、他の crc32 C# および C 実装も調べました。それらのすべてで、C は 04C11DB7 を使用し、C# は 0xEDB88320 を使用します。