Q 格式定點數轉換

在浮點數與 Qm.n 定點數之間互相轉換,顯示補碼二進位制、十六進位制、量化誤差與可表示範圍。

常用佈局

轉換結果 Q1.15

16 bit
定點整數(補碼)
23167
二進位制
0101101001111111
十六進位制
5A7F
可表示範圍
-1 ~ 0.999969482421875
解析度
0.000030517578125
量化誤差
7.324e-7
浮點值
0.707000732421875

Qm.n 裡的 m 含符號位:Q1.15 是 16 位(1 符號 + 15 小數),取值範圍 -1 到 0.999969。另一種寫法把符號位單列,兩者差一位,用之前務必和硬體手冊對一下。

量化誤差 = 量化後的值 − 原值,絕對值不超過半個解析度。要減小誤差只能加小數位,代價是整數位變少、範圍縮小。

定點數在 MCU 與 DSP 上比浮點快得多:加減法直接對整數做,乘法後右移 n 位即可。代價是要自己盯著溢位。

評論

登入後即可參與評論

還沒有評論,來說兩句吧