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 位即可。代价是要自己盯着溢出。

评论

登录后即可参与评论

还没有评论,来说两句吧