0

だから私がCRCについて知っていて、Javaの実装もしたのはこれです:

たとえば、初期メッセージを 16 ビット多項式として持つ

0x0617
65
0000.0110.0001.0111

これは別の 16 ビットの 0 を取得します

0000.0110.0001.0111|0000.0000.0000.0000

次に、除数を持って、

0x1021
0001.0000.0010.0001 (0, 5, 12)

最初のメッセージの各 "1" の先頭に配置し、最初のメッセージに 1 がなくなるまで、ビット間で XOR を実行します。この例では、合計で 6 つの XOR があります。

CRC は、メッセージの最後の 16 ビット、または除算の残りになります。この場合、101011110110000.

私の質問は、ルックアップ テーブルを使用してこれをどのように実装できますか? 誰かが私の多項式の計算方法に関する数値例を教えてもらえますか?

4

1 に答える 1

1

私は今日、この問題に取り組んでおり、あらゆる CRC で機能するコードを作成しました。crc.h ファイルにはさまざまな CRC があり、そのうちのいくつかはテスト済みで機能しています。コードは C で作成されているため、Java で使用するのに多くの問題はありません。

任意の種類の CRC を使用できるようにするために、ルックアップ テーブルが動的に生成されます。ウォッチ ウィンドウに A_crcLookupTable 配列を配置し、定数として含める場合は配列から値をコピーできます。

お役に立てば幸いです: https://sourceforge.net/projects/crccalculator/files/CRC/ ?

于 2014-03-29T23:58:38.353 に答える