Q格式是二進制的定點數格式,其中會標示小數位元(也可能包括整數位元)的長度。例如Q15數表示分數部份有15個位元,而Q1.14數表示1個整數位元以及14個小數位元。
針對有號的定點數,有二種Q格式的表示方式。其中一種是將符號位元算在整數位元裡,但另外一種就不是。例如,16位元的有號整數(無小數位元)可以表示為Q16.0或Q15.0。因此,在用說明Q格式的有號定點數字時,可能也需要一併標示總位元數(在此處為16)。
Q格式是幾種廣為使用的定點数中的一種。定點数常用在不支援浮點運算器的硬體,或是用在需要固定解析度的應用。
特點
Q格式用來標示定點數,儲存以及運算都是以一般的二進位整數為基礎來處理,因此允許標準的整數硬體/算術邏輯單元來進行有理数運算。程式設計者可以依應用需求,選定其整數位元數、小數位元數(以及資料總位元數),而之後定點數的範圍以及解析度就會依整數位元數、小數位元數而不同。
有些DSP架構原生支持一些常用的Q格式(例如Q1.15),這種情形下,可以在一個指令下就進行四則運算,若是加減法,可以支援饱和运算,若是乘除法,可以有正規化的機能。不過大部份的DSP無此功能,若DSP架構不支持選定的Q格式,程式設計者就要自行再針對加減法進行饱和运算,針對乘除法進行正規化。
有號號Q格式的表示方式有兩種,都寫成Qm.n:
- Q表示這個數字是以Q格式表示,在德州仪器則用Q表示是有號的Q格式(Q是數學裡表示有理數的字母)
- m.(可省略,若省略的話,假設是0或1)是數字在用二補數表示下的整數位元數,可能包括符位元,也可能不包括(這也是若m省略的話,假設是0或1的原因)。
- n是數字中小數的位元數,也就是二進位表示時,在小數點右邊的二進位個數(若n = 0,表示Q格式數字是整數)。
一種表示方式將符號位元放在整數位元 m中一起計算
}}
延伸閱讀
- (Note: the accuracy of the article is in dispute; see discussion.)
外部連結
*
评论 (0)