我能够将modbus中的值提取为16位短路(无符号)或整数(应该被视为16位字)。我的任务是组合两个值,使用java创建一个32位浮点值。
我使用gui程序观察到的一些示例值:
我尝试了有点明智的操作员,但似乎没有做到这一点。 让我挠头!
答案 0 :(得分:1)
您可以使用Float.intBitsToFloat(int bits)
从float
的位构建int
。
short high = ... // the high 16 bits
short low = ... // the low 16 bits
int combined = (high << 16) | low;
float num = Float.intBitsToFloat(combined);
例如:
short high = 17530;
short low = 8192;
生成浮动1000.5
。