如何从残数制转换为混合基数制



我理解残数系统的概念和混合基数系统的概念,但我很难在一个简单的案例研究中找到任何转换方法。

我开始读Knuth的《计算机程序设计艺术》,但是里面有太多关于转换理论的内容,一旦提到欧拉,我就迷路了。维基百科上有一个关于这个主题的很好的章节,我在这里和这里尝试过,但两次我都无法回到我开始的数字。

我在这里找到了一篇很好的文章(PDF),我在这里浓缩了相关的部分,但是我不理解乘法逆和它们的符号。具体来说,如何y_2 = |(3 - 19) |(1/31) | _7 | _7 = | 5 * 5 | _7特别是如何| | 1/31 _7 = 5

要对模数(这里是7)取乘法逆。由于模数7是素数,因此每个数(模7)都有一个逆。特别是31_7 = 3_7(因为31 = 4*7 +3 -抱歉,如果我太说教了),它的倒数是5,因为3 * 5 = 15 = 1_7。所以我们可以写|1/31|_7 = 5.

现在

y_2 = |(3 - 19) |(1/31)|_7 |_7
    = | (-16) * 5 |_7
    = | 5 * 5 |_7            since -16 = (-3)*7 + 5
    = 4

最新更新