基于2143规则编码的uint8_t如何转换成float
2143格式存储的float类型数据在解码时,需要将1和2互换,3和4互换,然后
通过数组转float,进行转换
uint8_t data[] = {0x72, 0x02, 0xc8, 0x42}; // 字节数组
float bytesToFloat(uint8_t data[]) {
uint32_t x;
memcpy(&x, data, sizeof(x)); // 将字节数组复制到 uint32_t
return *(float*)&x; // 解释为 float
}
float y = bytesToFloat(data); // 转换为浮点数
printf("y = %2.7f\n", y); // 输出结果
y = 100.0047760
所以,数值为{0x72, 0x02, 0xc8, 0x42}的对应float值为 100.0047760