0

質問!:すべてのバイトを合計すると 118h になります。キャリー ニブルをドロップして 18 時間を与えます。この「Carry Nible」という言葉がわかりません。

このバイトのチェックサムを 10010101(95hex) にすると、チェックサムは 4(04hex) になりますか?


ソース: http://www.asic-world.com/digital/numbering4.html#Error_Detecting_and_Correction_Codes

" パリティ方式は、バイト、ワード、またはダブルワードで計算されます。しかし、128 バイト以上 (基本的にはデータのブロック) でエラーをチェックする必要がある場合、パリティの計算は正しい方法ではありません。データ ブロックのエラーをチェックします。チェックサムにはさまざまなバリエーションがあります。

すべてのバイトを追加 CRC Fletcher のチェックサム Adler-32

データ内のアサートされたビットを単純に合計する最も単純な形式のチェックサムでは、多くの種類のエラーを検出できません。特に、そのようなチェックサムは以下によって変更されません:

メッセージ内のバイトの並べ替え ゼロ値バイトの挿入または削除 合計がゼロになる複数のエラー

チェックサムの例: 与えられた 4 バイトのデータ (任意のバイト数で実行可能): 25h、62h、3Fh、52h

すべてのバイトを合計すると 118h になります。キャリー ニブルをドロップして 18 時間を与えます。 E8h を取得するには、18h の 2 の補数を取得します。これはチェックサム バイトです。

チェックサム バイトをテストするには、元のバイト グループに単純に追加します。これにより、200hが得られます。

00h を指定して、キャリー ニブルを再度ドロップします。これは 00h であるため、チェックサムはバイトがおそらく変更されなかったことを意味します。」

4

0 に答える 0