2

我正在尝试实现 Newton-Raphson Division Algorithm Wikipedia 条目以在没有硬件除法单元的处理器上实现 IEEE-754 32 位浮点除法。

我的内存位置是 32 位二进制补码字,并且我已经实现了浮点加法、减法和乘法,因此我可以重用代码来实现 Newton-Raphson 算法。我试图首先在 Matlab 中实现这一切。

在这一步: X_0 = 48/17 - 32/17 * D
如何按照算法详细信息中的说明将 D 正确移位到 0.5 和 1 之间?

4

1 回答 1

1

您可能会查看 compiler-rt 运行时库(LLVM 的一部分),它具有自由许可证并为缺乏硬件支持的处理器实现浮点运算。

您也可以查看 libgcc,尽管我相信这是 GPL,这对您来说可能是也可能不是问题。

事实上,不要只看它们。使用其中一个(或另一个软浮点库)。没有必要重新发明轮子。

于 2012-02-10T16:03:57.197 回答