1. 為什會有定點(diǎn)浮點(diǎn)之分
因?yàn)樵谝恍┣度胧较到y(tǒng)中,例如FPGA, MCU, DSP等,受到計(jì)算體系結(jié)構(gòu),計(jì)算資源和系統(tǒng)指令的限制,無法處理任意分辨率的數(shù)據(jù),即其所能處理的數(shù)據(jù)精度限制的。這里的點(diǎn)就是精度的意思。浮點(diǎn)就是小數(shù)點(diǎn)可以浮動,一般而言精度高,定點(diǎn)即小數(shù)點(diǎn)位置是固定的,一般而言精度低一些。
2,定點(diǎn)數(shù)如何進(jìn)行四則運(yùn)算
由于在定點(diǎn)系統(tǒng)中,一般數(shù)據(jù)的長度是有限的,例如8bit,16bit,32bit。所以如果用二進(jìn)制表示數(shù)據(jù)的化,加和減就可以直接進(jìn)行,乘和除2的倍數(shù)可以通過移位解決。關(guān)鍵的地方在乘以或除以一個(gè)非2的整數(shù)或小數(shù)的情況,在定點(diǎn)系統(tǒng)中一般是通過(x/0xffff)這種方式處理的,即先除以一個(gè)最大精度范圍,然后再乘以一個(gè)系數(shù),這里的最大精度范圍和系數(shù)都是用二進(jìn)制表示的。具體的定點(diǎn)系統(tǒng)有Q(16,1)等表示定點(diǎn)位置的方法。
3. 數(shù)據(jù)溢出
定浮點(diǎn)數(shù)都需要注意數(shù)據(jù)溢出的問題,特別是在定點(diǎn)數(shù)據(jù)處理中,由于有符號位的存在,在判斷數(shù)據(jù)溢出時(shí)要考慮符號位。