拉夫森分部为浮点分裂?
我正试图实现Newton-Raphson Division算法维基百科条目,以在没有硬件除法单元的处理器上实现IEEE-754 32位浮点除法。
我的存储单元是32位二进制补码,我已经实现了浮点加法,减法和乘法,所以我可以重用代码来实现牛顿 - 拉夫逊算法。 我想首先在Matlab中实现这一切。
在这一步:X_0 = 48/17 - 32/17 * D
如何按照算法细节中的描述,将D正确移位到0.5到1之间?
您可以查看编译器rt运行时库(LLVM的一部分),该库具有自由许可证,并为缺乏硬件支持的处理器实现浮点运算。
你也可以看看libgcc,尽管我相信那是GPL,这对你来说可能是或者可能不是问题。
事实上,不要只看他们。 使用其中的一个(或另一个软浮点库)。 没有必要重新发明轮子。
链接地址: http://www.djcxy.com/p/85649.html上一篇: Raphson Division For Floating Point Divide?
下一篇: What's the relative speed of floating point add vs. floating point multiply