在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機浮點數(shù)的實用快速降法

            單片機浮點數(shù)的實用快速降法

            作者: 時間:2012-03-08 來源:網(wǎng)絡(luò) 收藏

            4 程序源代碼

            限于篇幅,只給出源代碼中的關(guān)鍵部分,即有效數(shù)字的計算部分。

            ;被除數(shù)為x,除數(shù)為y

            ;用yh,hl分別表示y的高16位和低16位

            ...

            ;假設(shè)x,y的有效數(shù)字部分分別在(dx,cx)和(bx,ax)中

            ;計算預(yù)估值Q0'=(x/4)/yh

            shrl cx,#2 ;計算x/4

            divu cx,bx ;計算(x/4)÷yh

            ld fx, cx ;把商暫放入寄存器fx,即Q0'的高16位有 ;效數(shù)字

            clr cx

            divu cx,bx ;把余數(shù)末尾添0后面再除以yh

            ld ex,cx ;把商暫放入寄存器ex,即Q0'

            ;的低16位有效數(shù)字

            ;(fx,ex)=Q0'

            ;計算修正因子 Q1=(yh-yl)/yh

            cmp ax,0 ;判斷yl是否為0

            jne getQ1 ;若yl非0,計算修正因數(shù)Q1

            ld ax,ex ;若yl=0,修正因數(shù)Q1=1

            ld bx,fx ;(Q0'×Q1)=Q0',可以直接計算Q

            sjmp getQ

            getQ1:

            ld hx,bx ;把yh放于寄存器hx中

            neg ax

            dec bx ;計算yh-yl

            divu ax,hx ;計算Q1=(yh-yl)÷yh

            ld dx,ax ;把商暫時放入寄存器dx,即Q1的高16位有;效數(shù)字

            clr ax

            divu ax,hx ;把余數(shù)末尾添0后再除以yh,得Q1的;低16位有效數(shù)字

            ld bx dx ;(bx,ax)=Q1

            ;計算Q0'×Q1=(fx,ex)×(bx,ax),只取32位有效數(shù)字

            ld hx,bx

            mulu cx,bx,ex ;(dx,cx)=bx×ex

            mulu ax,fx ;(bx,ax)=ax×fx

            clr ex

            add cx,ax

            addc dx,bx

            addc ex,0 ;(ex,dx,cx)=(dx,cx)+(bx,ax)

            mulu ax,fx,hx ;(bx,ax)=fx×hx

            add ax,dx ;(bx,ax)=(bx,ax)+(ex,dx)

            addc bx,ex ;(bx,ax)=Q0'×Q1

            ;計算校準(zhǔn)值Q=(Q0' ×Q1)×4并調(diào)整階碼

            getQ:

            ...

            代碼到這里為止,商的有效數(shù)字已經(jīng)全部求出。只要再執(zhí)行一些調(diào)整階碼的操作,就可以得到最終結(jié)果。

            在作者開發(fā)的一個80C196KC單片機系統(tǒng)中,涉及到了二進(jìn)制-十進(jìn)制數(shù)制轉(zhuǎn)換、分段線性插值、數(shù)字濾波等大量的運算,都是靠加減乘除等底層函數(shù)來實現(xiàn)的。

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

            則相對誤差,轉(zhuǎn)化為十進(jìn)制,有效數(shù)字高達(dá)14位。


            上一頁 1 2 3 下一頁

            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉