定點數

1、定點數定義

定點數是指小數點固定的隱含在某一位置上的一類數據

有符號數:

以四位有符號數1111爲例,其數值大小爲:1x(-2^(0))(4+2+1)= -7。

2、補碼

正整數的補碼:與原碼相同。

負整數的補碼:將其原碼除符號位外的所有位取反,之後加1。

3、定點純小數

定點純小數是指整數部分爲0的定點小數,分爲有符號定點純小數和無符號定點純小數,S爲符號位,小數點在小數位的最左側。

對於字長爲wf的無符號定點小數,其數值可表示爲:

Bi表示對應的位爲1,以四位無符號定點純小數1001爲例:

其值爲value=b0 x 2^(0-4) +b3 x 2^(3-4) =0.0625+0.5=0.5625

對於字長爲wf+1的有符號定點純小數,其數值表示爲:

同樣以1001爲例,字長爲4,wf=3,符號位爲1,尾數位001,其值表示爲:

value= (-1)^(1) + 2^(0-3) =-1+0.125 = -0.875

4、定點帶小數

即整數部分不爲0的小數,分爲有符號定點帶小數額無符號定點帶小數,S爲符號位,定點數位寬爲w,小數位位寬爲wf:

對於無符號定點帶小數,正常計算即可,其計算公式爲:

對於有符號定點帶小數,其計算公式爲:

5、定點數據的上溢和下溢

上溢(overflow):運算結果超出了定點數的整數部分所能表示的範圍,

下溢(underflow):運算結果小數部分超出了小數部分能表示的範圍。

UFIX_4_2,表示無符號型定點小數,全長爲4,小數部分寬度爲2,所能表示的範圍爲:[0,3.75],精度爲0.25,如果運算結果爲4,即發生上溢,如果運算結果爲0.125,則發生下溢。

6、浮點數和定點數的比較

與定點數相比,採用浮點數進行算法描述:

(1)、具有更寬的動態範圍。

(2)、可縮短複雜運算的開發週期。

(3)、統一的標準數據格式。

劣勢:

(1)、浮點運算會消耗更多的查找表、寄存器和乘法器。

(2)、浮點運算會給佈線資源帶來壓力,導致最大運行頻率降低。

通常在算法建模時採用浮點數,而在FPGA實現時採用定點數。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章