Исправление ошибок для короткого десятичного числа

У меня есть короткие десятичные числа переменной длины, например: # 41551 , которые вручную расшифровываются людьми . Ошибочный ввод приведет к нежелательным результатам, поэтому моя первая мысль - использовать алгоритм Луна для добавления контрольной суммы - # 41551-3 . Однако это только обнаружит ошибку, но не исправит ее.Кажется, добавление еще одной контрольной цифры должно быть в состоянии обнаружить и исправить однозначную ошибку, поэтому, учитывая # 41515-3? (ошибка транспонирования), я смогу восстановить правильный # 41551 .

Что-то вроде кода Хэмминга кажется подходящим местом для поиска, но я не смог понять, как применить их к десятичным, а не двоичным данным. Есть ли алгоритм, предназначенный для этого использования, или можно ли адаптировать Хэмминга / Рида-Соломона и т. Д. К этой ситуации?

12
задан Gavin Wahl 10 November 2011 в 22:36
поделиться