Сообщение от
Антон_Б
как осуществить перевод Float24 в десятичную дробь. Спасибо.
Float24 - это значение в формате IEEE 754 c отброшенным младшим байтом. то есть обычное значение с плавающей запятой.
согласно протоколу овен первым в посылке передается старший байт, и на архитектуре интел (little-endian) процедура перевода поля данных во float выглядит так:
Код:
void unpackFloat24(unsigned char* data, size_t dataSize, float* value)
{
unsigned char* p = (unsigned char*)(value);
assert(data);
assert(dataSize == 3);
assert(value);
p[0] = 0;
p[1] = data[2];
p[2] = data[1];
p[3] = data[0];
}