欢迎来到天天文库
浏览记录
ID:49645440
大小:90.50 KB
页数:10页
时间:2020-02-26
《定点与浮点数.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、定點(fix)與浮點(float)定點數字表示法DSP晶片就運算功能區分,分成浮點運算與定點運算兩種「浮點運算」就是DSP內建一些運算指令可支援浮點數字的計算具有浮點運算的DSP晶片,雖然幫我們解決了小數點運算的難題,我們卻要付出一些代價,就是價格成本同樣運算時脈的晶片,浮點DSP比定點DSP價格貴了不少,通常在開發演算法的初期會以浮點DSP進行系統實現,等到要變成產品生產的時候,則需要考慮到使用定點DSP晶片以降低成本《例一》:x1=0.5,x2=3.1,求y=x1+x2之數值。以人腦的運算,直接計算y=x1+x2=0.5+3.1=3.6。如果我們動些手腳,把x1、x2乘以10
2、倍,則變成底下的算式。y10=(x1×10)+(x2×10)=5+31=36,這樣子就轉換成了整數的運算。因此,若將小數點作移位的話,浮點數也可以變成一個整數,方便定點DSP晶片運算。因為已經將小數點移位了,運算後必須在把小數點移回來,這樣的結果才會正確。y=y10÷10=3.6,取整數部分為3;取四捨五入則為4。《例二》:x1=0.5,x2=3.1,求y=x1+x2之數值。同樣的例子,但是把x1、x2乘以2倍,則變成下面的算式。y2=(x1×2)+(x2×2)=1+6.2=7.2,取整數為7=0111b。∴y=y2>>1=3。>>,右移,除2定點數字表示法(Conti.)定點運
3、算的小數點位置完全設計者的心中,位置取決於乘上的整數值,至於要選擇多大的整數乘上浮點數呢?如果乘上2n的倍數,相當於將浮點數往左位移n個位元,通常一個數字向左或向右移動幾個位元,在運算上最為快速。表示法Q表示法S表示法Q表示法S表示法表示法所能涵蓋的範圍Q0S15.0-32768≦x≦32767Q1S14.1-16384≦x≦16383.5Q2S13.2-8192≦x≦8191.75Q3S12.3-4096≦x≦4095.875Q4S11.4-2048≦x≦2047.9375Q5S10.5-1024≦x≦1023.96875Q6S9.6-512≦x≦511.984375Q7S8.
4、7-256≦x≦255.9921875Q8S7.8-128≦x≦127.99609375Q9S6.9-64≦x≦63.998046875Q10S5.10-32≦x≦31.9990234375Q11S4.11-16≦x≦15.99951171875Q12S3.12-8≦x≦7.999755859375Q13S2.13-4≦x≦3.9998779296875Q14S1.14-2≦x≦1.99993896484375Q15S0.15-1≦x≦0.999969482421875定點數字的運算線性運算:加法減法乘法非線性運算:呼叫DSP提供的數學函式庫–適合系統開發初期查表法–適合最佳化系
5、統的效能加法運算《範例》:兩個運算元都是以Q13為定點數字的表示法,x1=0.5,x2=3.1,求y=x1+x2之定點數值。x1=0.5×8192=4096(Q13),x1<<13x2=3.1×8192=25395(Q13),x2<<13因為兩個運算元都為相同的定點表示法,直接作加法運算。y=x1+x2=29491(Q13)≒3.599976,x2>>13減法運算《範例》:兩個運算元都是以Q13為定點數字的表示法,x1=3.5,x2=3.1,求y=x1﹣x2之定點數值。x1=3.5×8192=28672(Q13)x2=3.1×8192=25395(Q13)因為兩個運算元都為相同的
6、定點表示法,直接作減法運算。y=x1﹣x2=3277(Q13)≒0.400024乘法運算《範例》:兩個運算元為相同的定點表示法,x1=0.5(Q15),x2=0.25(Q15),求y=x1×x2之定點數值,x1、x2都宣告為有號數的short。x1=0.5×32768=16384(Q15)x2=0.25×32768=8192(Q15)y=x1×x2=134217728(Q30),兩個有號數的short整數相乘,結果變成一個定點為Q30有號數int。
此文档下载收益归作者所有