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