有没有办法将 32 位整数转换为浮点数?

Is there way to convert float from 32bit integer?

使用 c#

我需要读取的浮点值

= 24.500000

当我尝试阅读时,我得到了这个结果

= 1103364096

我应该做什么转换才能获得真正的价值?我需要这方面的帮助。

我失败的尝试:

int data_1 = 1103364096;
UInt16 value = (UInt16)x;
ushort data_2= (ushort)(1103364096 & ((1 << 16) - 1));
int r = 1103364096;
short trimmed = unchecked((short)r);

这些都不行!

使用 Convert.ToFloat(x) 将(从任何东西)转换为浮点数。 使用 Convert.ToInt32(x) 将(从任何东西)转换为 Int32。

根据 Jeremy 的建议,您需要使用 BitConverter。 我们将首先获得整数 i 的字节表示,然后将这些字节解释为 float:

int i = 1103364096;
byte[] b = BitConverter.GetBytes(i);
float f = BitConverter.ToSingle(b, 0);
Console.WriteLine(f); // outputs 24.5

Try it online