转换为浮点

时间:2014-10-14 08:25:40

标签: c# floating-point modbus bitconverter ushort

我有两个ushort整数。 整数:2206,41247

我想转换为浮动此整数。为此;

void Main()
{
    GetSingle(2206,41247).Dump();
}
public static float GetSingle(ushort highOrderValue, ushort lowOrderValue)
{
    return BitConverter.ToSingle(BitConverter.GetBytes(lowOrderValue).Concat(BitConverter.GetBytes(highOrderValue)).ToArray(), 0);
}

我在Linqpad中编写了一些代码。此功能结果为 9,547158E-34

但是在 Modbus民意调查程序转换 0 这个整数。

我从具有Modbus协议的远程设备读取此整数。正确值 0

我的问题; Modbus Poll程序如何将此整数转换为浮点数?价值怎么能为零?

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

我到达了相同的号码。请记住,9,547158E-34 非常小 - 也许它只是在之后被转换为int,yeilding 0?