我理解Residual Number System的概念和Mixed Radix system的概念,但我很难获得我发现的任何转换方法在一个简单的案例研究中工作。
我从Knuth的计算机程序设计艺术开始,但对转换理论有点过分,一旦提到欧拉,我就迷失了。维基百科有关于这个主题的nice section,我试过here和here,但两次我都无法回到我开始的数字。
我找到了一篇好文章here (PDF),我将相关章节here浓缩了,但我不理解乘法逆和它们的符号。具体来说,y_2 = |(3 - 19)|(1/31)| _7 | _7 = | 5 * 5 | _7特别是如何| 1/31 | _7 = 5
答案 0 :(得分:1)
相对于模数(此处为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