PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie Zahlen erzeugen, so daß Einzel-Ziffer-Fehler u. Zahlendreher erkennbar sind?



nobody0
17-04-2005, 13:12
Weil bei der Übertragung von Zahlen wie Seriennummern oder Keys Fehler auftreten, suche ich noch Algorithmen um dezimale und hexadezimale Zahlen zu erzeugen, bei denen sowohl Einzelziffern-Fehler als auch Zahlendreher zunmindest erkennbar sind und möglichst korrigierbar sind.
Dabei soll die Nummernlänge minimal sein.
Angeblich sollen ja Kontonummern so erzeugt werden. Weiß jemand genaueres darüber? :confused:

Mein erster Ansatz, die Ziffern im Hamming-Code darzustellen, ergibt viel zu lange Nummern.

alita
17-04-2005, 13:47
Mein erster Ansatz, die Ziffern im Hamming-Code darzustellen, ergibt viel zu lange Nummern.

Hast Du jede Ziffer einzeln im Hamming-Code dargestellt? Dann ist es kein Wunder, daß Deine Nummern recht lang werden. Zur Fehlererkennung ist die ISBN-Codierung recht nett (siehe http://de.wikipedia.org/wiki/ISBN).

Ein Hamming-Code über die gesamte Zahl sollte auch nicht allzuviel zusätzliche Stellen erzeugen...

Ansonsten sind zyklische Codes auch ganz nett...

nobody0
17-04-2005, 21:51
Hast Du jede Ziffer einzeln im Hamming-Code dargestellt?

Nein, das wäre doch sinnlos, da z. B. Zahlendreher nicht immer erkennbar wären.
Danke für den Link :)

nobody0
17-04-2005, 22:02
Hm, da steht nur was von Prüfsumme; schöner wäre aber wenn man einzelne Ziffern-Fehler und Zahlendreher korrigieren könnte.
Wo findet man denn sowas? :confused:

Joghurt
19-04-2005, 12:18
Die ISBN-Prüfsumme erkennt zahlendreher, IIRC:
(Erste Ziffer*1 + zweite Ziffer*2 + neunte Ziffer*9) mod 11, wobei dann 10 als X dargestellt wird. Wenn du nur Zahlen benutzen darfst, such mal nach dem Verfahren für Kontonummern, das erkennt aber nicht alle Zahlendreher.

Mehr Informationen, warum das funktioniert etc, solltest du in jedem guten (praktisch orientierten) Buch über Zahlentheorie finden.

Edit: Das könnte dich interessieren:
http://en.wikipedia.org/wiki/Luhn_algorithm