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 位即可。代价是要自己盯着溢出。
评论
还没有评论,来说两句吧