Q格式的定义:使用一个定长的二进制数表示一个数的小数点后部分。
例如Q31,Q15,Q7等表示小数点后的二进制数的长度分别为31 、15、 7
十进制小数到Q格式数的转化方法为乘二取整法:
如十进制数 0.75的Q格式表示为:
0.
0.75 *2 |1
0.5*2 |1
若为Q7,则为0.1100000;不足位以零补齐
Q7格式转十进制小数转化方法为:
小数点后面每一位分别表示为2^-1、2^-2...以此类推。
Q格式数相乘后得到的结果需要舍去末尾格式位,即得到数右移固定位数,位数取决于Q的格式,如Q7格式数相乘后得到的值需要右移七位。
如:0.25*0.25 = 0.0625
0.25的Q7 表示为0.0100000,小数部分以二进制相乘得到0100 0000 0000,右移七位并高位补零得到0.0001000,其对应十进制数为2^-4,即0.0625