我们正在编写一个非常简单的程序,在为类构建的处理器上执行。它没有乘法或除法的能力。但是,我们支持加法、减法和或,以及循环控制的分支(如果您熟悉mips,则类似于branch on equal)。我们在想一个运行在上面的整洁的程序应该是某种x^n程序。当然,这些数字必须硬编码,但考虑到我们处理器的局限性,这是现实的吗?
有指数的加法计算吗?
谢谢。

最佳答案

对于小整数,为什么不呢?
首先,使用重复加法实现乘法然后,使用重复乘法实现pow()。会很慢,但会很好。
指数运算有一种更快的算法,叫做Exponentiation by Squaring。然而,考虑到你没有一个快速乘法,我不确定它是否值得-你可能想首先实现一个快速乘法算法。

关于algorithm - 仅通过加法计算指数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1898203/

10-12 21:51