A Microcontroller I have provides Raw data in Fixed-point format Q24 (24bit) by ASIC IC.
I need to convert to decimal by
Actual value = raw_data*LSB
where
LSB = 150/[( (2^24) - 1 )*0.6 ] = 150/10066329 = 1.49011E-5
Range raw data is 0 ~ 10066329
I'd like to calculate Actual value in to uint 32bit and keep the precision in 2 or 3 decimal point.
For example If full scale raw data is 10066329, Actual value with 2 decimal point precision would be 15000 or for 3 decimal point 150000.
I found the way to do this is - Scale factor (but need to reduce the raw data precision for prevent data not over flow in 32 bit) - floating point (make MCU no efficiency)
What option should I select?
I also posted here