【问题标题】:How to Convert from a Residual Number System to a Mixed Radix System?如何从余数系统转换为混合基数系统?
【发布时间】:2013-04-11 18:33:33
【问题描述】:

我了解Residual Number SystemMixed Radix system 的概念,但我很难在一个简单的案例研究中找到我发现的任何转换方法。

我从 Knuth 的《计算机编程艺术》开始,但那对转换的理论有点过多,一旦提到欧拉,我就迷路了。维基百科有一个关于这个主题的nice section,我试过herehere,但两次我都无法回到我开始时的号码。

我找到了一篇不错的文章here (PDF),我把相关部分浓缩了here,但是我不明白乘法逆元及其符号。具体来说,如何 y_2 = |(3 - 19)|(1/31)|_7|_7 = |5 * 5|_7 特别是如何 |1/31|_7 = 5

【问题讨论】:

  • 我不确定维基百科的文章是否正确。
  • 感谢您的编辑,我阅读了残数系统页面上的谈话页面,this 值得一读。

标签: math numbers modular-arithmetic mixed-radix


【解决方案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

【讨论】:

  • 我现在明白你是如何得到 |-16|_7 = 5 的,根据我的经验,这是处理负模的一种不寻常的方式,但我可以使用它。我仍然迷失在这个 |(1/31)|_7 = 5 业务上。我知道 |31|_7 = |3|_7,但我并没有反过来关注你。 3 * 5 = 15,但 |15|_7 = 0。
  • 咳咳... 15 = 2*7 + 1,因此 |15|_7 =1。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-18
  • 1970-01-01
  • 1970-01-01
  • 2023-03-25
  • 1970-01-01
  • 2013-02-03
相关资源
最近更新 更多