單片機(jī)浮點(diǎn)數(shù)的實(shí)用快速除法介紹
在計(jì)算Q時(shí),則通過(guò)3次16位乘法實(shí)現(xiàn)了32位乘法,取結(jié)果的高32位,即得Q。
整個(gè)算法至多只須用4次除法、3次乘法和5次加法,就求得了浮點(diǎn)數(shù)商的尾數(shù),可見計(jì)算效率是很高的,保證了運(yùn)算速度。
浮點(diǎn)數(shù)除法流程圖如圖3所示。
4 程序源代碼
限于篇幅,只給出源代碼中的關(guān)鍵部分,即有效數(shù)字的計(jì)算部分。
代碼到這里為止,浮點(diǎn)數(shù)商的有效數(shù)字已經(jīng)全部求出。只要再執(zhí)行一些調(diào)整浮點(diǎn)數(shù)階碼的操作,就可以得到最終結(jié)果。
在作者開發(fā)的一個(gè)80C196KC單片機(jī)系統(tǒng)中,涉及到了二進(jìn)制-十進(jìn)制數(shù)制轉(zhuǎn)換、分段線性插值、數(shù)字濾波等大量浮點(diǎn)數(shù)的運(yùn)算,都是靠加減乘除等底層函數(shù)來(lái)實(shí)現(xiàn)的。
此外,本算法思路清晰,因此很容易加以推廣。例如,為了得到更高的精度,可取修正因子:
則相對(duì)誤差,轉(zhuǎn)化為十進(jìn)制,有效數(shù)字高達(dá)14位。
單片機(jī)相關(guān)文章:單片機(jī)教程
單片機(jī)相關(guān)文章:單片機(jī)視頻教程
單片機(jī)相關(guān)文章:單片機(jī)工作原理
評(píng)論