2015-04-07 47 views
0

有没有人知道任何教科书或行业指南为实现Damm算法的普通工程师(而不是数学博士)提供了实用指南?如何实现校验和和冗余的Damm算法

具体来说,我想知道如何生成拉丁方块,而不是盲目地复制维基百科上提供的base-10,或者剪切和粘贴别人的未经检查的代码。

我在寻找一个灵活的基础系统,包括(但不限于)基数10,16,32或36(10个数字加26个英文字母)的选项。我相信上述方案支持这一点(除2和6之外的所有基础),有谁知道这是否正确?

H. Michael Damm的博士论文是英文版吗?

有没有一种方法可以通过其添加附加校验数据以在编号方案中包括冗余,即将四位数据位的有效载荷扩展为七位数,其中只有四位数需要正确并且仍然允许完全恢复的原始数据?

即,如果1234具有三个冗余数字789,那么1234789可以作为1X3XX89发送,其中X是不可读数字,但仍然是完全可恢复的。

这似乎可能与国际银行编号中使用的mod-97方案,但这似乎没有非base-10 Damm方案的灵活性,或一些更好的语音错误检测。

我甚至不知道从哪里开始寻找。

+1

多少麻烦是仰视https://en.wikipedia.org/wiki/Damm_algorithm#References? – greybeard

回答

0

我在寻找一个灵活的基础系统,包括(但不限于)基数10,16,32或36(10个数字加26个英文字母)的选项。我相信上述方案支持这一点(除2和6之外的所有基础),有谁知道这是否正确?

是的。见http://www.md-software.de/math/DAMM_Quasigruppen.txt含拟群的达姆算法高达级别64,正≠ 2,6

提供英语H.迈克尔·达姆的博士论文?

不是我见过的。尽管你可以尝试使用商业工具翻译它。但是,您可以检出http://www.sciencedirect.com/science/article/pii/S0X06004225

您可以将基数n转换为基数10并计算校验位。

我甚至不知道从哪里开始寻找。

见校验位系统上Google Code与源Java和JavaScript和Error Detection Based on Check Digit Schemes