2015-04-07 262 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