我的微控制器通过 ASIC IC 提供定点格式 Q24(24 位)的原始数据。
我需要转换为十进制
Actual value = raw_data*LSB
在哪里
LSB = 150/[( (2^24) - 1 )*0.6 ] = 150/10066329 = 1.49011E-5
范围原始数据是 0 ~ 10066329
我想将实际值计算为 uint 32bit,并将精度保持在小数点后 2 或 3 位。
例如,如果满量程原始数据是10066329
,精确到小数点后 2 位的实际值将是15000
或 小数点后 3 位150000
。
我发现这样做的方法是 - 比例因子(但需要降低原始数据精度以防止数据在 32 位中不溢出) - 浮点(使 MCU 没有效率)
我应该选择什么选项?
我也在这里发过