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