我需要将浮点数(4个字节)压缩为1个字节(0到0xFF)以发送到另一个设备。浮点数范围为-100000.0到100000.0。
另一个设备将从1字节解码回浮点数。如何以最小的数据丢失做到这一点?
谢谢,JC
答案 0 :(得分:2)
一种解决方案是使用量化。除以100000到127个间隔。发送浮点所属的区间编号和最低或最高位的符号
在你的情况下,间隔= 787,4 例如,您输入的内容为100.发送1.输入1000,147732。发送2 在设备上,您可以按间隔恢复数字。 最简单的解决方案是将数字恢复为间隔的中间位置。例如,属于第一个间隔的每个浮点数将恢复为393.7 如果您有一些数字分布的统计数据并且它不统一,您可以通过更改间隔长度并更精确地量化频繁浮点数来玩它