2011-11-10 8 views
11

J'ai des nombres décimaux courts et variables, comme: #41551, qui sont transcrits manuellement par l'homme. Mistyping un provoquera des résultats indésirables, donc ma première pensée est d'utiliser l'algorithme de Luhn pour ajouter une somme de contrôle - #41551-3. Cependant, cela ne détectera qu'une erreur, ne le corrigera pas. Il semble ajouter un autre chiffre de contrôle devrait être capable de détecter et corriger une erreur à un seul chiffre, donc donné #41515-3? (une erreur de transposition) Je serais en mesure de récupérer le bon #41551. Quelque chose comme un code Hamming semble être le bon endroit pour regarder, mais je n'ai pas été capable de comprendre comment les appliquer aux données décimales, au lieu des données binaires. Existe-t-il un algorithme destiné à cet usage, ou peut-on adapter Hamming/Reed-Solomon etc à cette situation?Correction d'erreur sur un nombre décimal court

+1

Je pense que c'est une question très délicate en raison des erreurs étranges du "canal": manquant un chiffre, permutation de deux chiffres, etc – Szocske

+0

Wow, les gens ne veulent vraiment pas même cliquer sur cette question. –

Répondre

3

Oui, vous pouvez utiliser les codes de Hamming en plus de vérifier les équations pour la correction. Utilisez la somme des données modulo 10 pour trouver les chiffres de contrôle. Placez les chiffres de contrôle dans les positions 1,2,4,8, ....

Questions connexes