У меня есть следующий код, я только что скопировал некоторые данные из внешней оперативной памяти в MCU в буфер под названием «данные».
double p32 = 4.294967296e+009; /// equals to 2^32 in decimal notation
int32_t longhigh;
uint32_t longlow;
offset = mapdata(); //Points to the data I want, 55 bit fixed point on HW
longhigh = data[2*offset+1]; //Gets upperpart of data
longlow = data[2*offset]; //Gets lower part
double floating = (longhigh*p32 + longlow); // What is this doing? How does it work?
Может ли кто-нибудь объяснить мне последнюю строку кода? Почему мы умножаем на p32? Спасибо.