2013-04-11 40 views
3

我理解Residual Number System的概念和Mixed Radix system的概念,但我很难获得任何转换方法,我发现它们只适用于简单的案例研究。如何将残差数字系统转换为混合基数系统?

我开始了Knuth的计算机编程艺术,但是这个转换理论有点太过分了,一旦欧拉被提及,我就迷了路。维基百科有一个nice section关于这个问题,我试图herehere但我无法回到我开始的数字。

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

+0

我不能肯定,维基百科的文章是正确的。 – 2013-04-12 00:43:49

+0

感谢您的编辑,我阅读了剩余数字系统页面上的对话页面,[this](http://en.wikipedia.org/wiki/Chinese_remainder_theorem)值得一读。 – eyepatch 2013-04-12 17:44:16

回答

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 
+0

我现在明白你是如何得到| -16 | _7 = 5的,这是我处理负模量的一种不寻常的方式,但我可以用它来处理。我仍然失去这个|(1/31)| _7 = 5的生意。我明白| 31 | _7 = | 3 | _7,但我没有跟着你。 3 * 5 = 15,但| 15 | _7 = 0。 – eyepatch 2013-04-12 19:55:43

+0

ahem ... 15 = 2 * 7 + 1,因此| 15 | _7 = 1。 – lmsteffan 2013-04-12 20:27:50

相关问题