我正在寻找一种算法来乘除定点 15.16 数字。
我已经有加减法了。这些很简单——简单的 32 位加减法。通过乘法和除法,我还可以添加许多三角函数和指数/对数函数。而且我想我可以只处理乘法,因为我的库有一个倒数函数,我可以用它来实现除法:a * (1/b) = a / b
. 但是 32 位乘法不起作用,因为它忽略了小数点。
我正在开发一个 16 位微控制器,所以我想避免超过 32 位乘法,这在我的处理器上大约需要 4 个周期。不过这并不重要,我只是想替换浮点数学。
我听说我需要改变或旋转结果,但我不确定这将如何帮助或具体如何改变它。任何建议或帮助表示赞赏!