私が持っているマイクロコントローラは、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を効率的にしません)
どのオプションを選択すればよいですか?
ここにも投稿しました