ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Q格式-----有符号的定点表示法

Q格式-----有符号的定点表示法

一、Q格式说明
1.Q格式,全称是定点数格式Fixed-Point Q format
2.是一种用整数来高效模拟小数进行运算的数据格式
3.Q格式在MCU,FPGA,定点DSP等不支持或者低效支持浮点运算的嵌入式平台比较常用
4.核心思想是,将小数乘以一个固定的倍数,常见是2^n后,转换一个整数来存储和计算

二、Q格式的标准写法
1.Q格式的标准写法是Qm.n;
其中m表示整数部分的位数,并且包含符号位,如果m=1,表示有1位符号位,0位整数位;
其中n表示小数部分的位数;
总的位数:m + n;
例如Q1.15表示使用一共16bit来表示小数,其中1为符号为,0位整数位,15位用于表示小数;

三、转换方式
1.Q格式与浮点数的转换非常直接,核心就是乘以或除以 2ⁿ
2.浮点数 → Qm.n:Q格式值 = round(浮点数 × 2ⁿ)
3.Qm.n → 浮点数:浮点数 = Q格式值 / 2ⁿ

案例:
例如,将 0.333 转换为Q15格式:0.333 × 32768 = 10911(十六进制 0x2A9F)-。由于精度限制,还原后会得到 0.332977...,存在微小误差

四、Q格式的关键参数
1.Q格式的两个核心参数是数值范围和精度,它们由 m 和 n 共同决定
2.精度(分辨率):由小数位数 n 决定,为 2⁻ⁿ。n 越大,精度越高;
3.数值范围:由整数位数 m 决定;

返回列表