我知道ARM Cortex M4中使用的分数类型用于最大化n位数的精度,在q7_t的情况下,它是从-1到1-2^-7的归一化数字。
但是它的典型工作流程是如何使用的呢?它需要不断地标准化和反规范化变量吗?
我发现了下一个将单精度浮点数转换为q7_t的示例代码,"128“数字是做什么的?
float test_float = 3.1416f;
q7_t test_frac = (q7_t)( test_float * 128);
提前谢谢你。
发布于 2020-05-16 08:46:29
因为q7_t
类型只有7位来存储小数,所以它适合以128的小数来存储。它只是意味着数字的小数部分被分成128个大小相等的块,每个块都可以用整数值0
到127
表示。
因此,整数值0
表示0.0
。整数值1
表示0.0078125
(1 / 128.0
)。整数值2
表示0.015625
(2 / 128.0
)。诸若此类。
https://stackoverflow.com/questions/61830308
复制相似问题