13

のような短い可変長の 10 進数があります#41551。これは、人間によって手動で転写されます。タイプを間違えると望ましくない結果が生じるため、最初に考えたのは、Luhn アルゴリズムを使用してチェックサムを追加することです -- #41551-3. ただし、それはエラーを検出するだけで、修正はしません。別のチェック ディジットを追加すると、1 桁のエラーを検出して修正#41515-3?できるようになるため、 (転置エラー) を指定すると、正しい#41551.

ハミング コードのようなものが適切な場所のように思えますが、それらを 2 進データではなく 10 進データに適用する方法を理解できませんでした。この使用を目的としたアルゴリズムはありますか、またはハミング/リードソロモンなどをこの状況に適応させることはできますか?

4

3 に答える 3

4

はい、修正のためのチェック方程式に加えて、ハミング コードを使用できます。チェック ディジットを見つけるために、10 を法とするデータの合計を使用します。チェック ディジットを 1、2、4、8、... の位置に配置します。

于 2011-11-17T19:27:27.943 に答える