单片机浮点数的实用快速除法介绍

时间:2013-02-16来源:网络

  在计算Q时,则通过3次16位乘法实现了32位乘法,取结果的高32位,即得Q。

  整个算法至多只须用4次除法、3次乘法和5次加法,就求得了浮点数商的尾数,可见计算效率是很高的,保证了运算速度。

  浮点数除法流程图如图3所示。

  4 程序源代码

  限于篇幅,只给出源代码中的关键部分,即有效数字的计算部分。

  代码到这里为止,浮点数商的有效数字已经全部求出。只要再执行一些调整浮点数阶码的操作,就可以得到最终结果。

  在作者开发的一个80C196KC单片机系统中,涉及到了二进制-十进制数制转换、分段线性插值、数字滤波等大量浮点数的运算,都是靠加减乘除等底层函数来实现的。

  此外,本算法思路清晰,因此很容易加以推广。例如,为了得到更高的精度,可取修正因子:

  则相对误差,转化为十进制,有效数字高达14位。

1 2

关键词: 单片机 浮点数 快速除法

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版