我正在尝试将浮点数转换为长度为4的字节数组,然后再次返回。但是我似乎没有用。

这是我所做的:

byte[] b = BitConverter.GetBytes(90);
float fb = BitConverter.ToSingle(b, 0);

我预计fb = 90,但它是1.26E-43。

我知道我的转换器是小字节序的,所以我也尝试过反转数组,如下所示:
byte[] b = BitConverter.GetBytes(90);
Array.Reverse(b);
float fb = BitConverter.ToSingle(b, 0);

然后我得到答案fb = 9.0E + 15。

有任何想法吗?
提前致谢!

最佳答案

BitConverter.GetBytes(90);将为您提供90整数值的字节。由于需要字节作为float值,因此需要指定以下内容:

BitConverter.GetBytes((float)90.0);

或者
BitConverter.GetBytes(90.0f);

关于c# - 字节数组 float ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57659227/

10-13 06:00