Здравствуйте, форумчане. Имеется ардуинка считывающая по протоколу ModBus данные с тепловычислителя. Я получаю два переменные формата uint16_t со значениями 0xCO23 и 0x3333. Как можно перевести данные переменные в формат float с плавающей запятой? В итоге должно получится значение -2.55.
Совсем не так. Судя по примеру данные приходят в формате IEEE754 Калькулятор https://www.h-schmidt.net/FloatConverter/IEEE754.html Код (C++): uint16_t byte1(0xC023), byte2(0x3333); union { float f; uint16_t i[2]; } float_map = { .i = { byte1, byte2 } }; // Тут может быть порядок байтов неправильный float result ( float_map.f );