【发布时间】:2019-12-30 17:21:06
【问题描述】:
我正在尝试将浮点数转换为长度为 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。
有什么想法吗? 提前致谢!
【问题讨论】:
-
90是int,而不是float。90f是float。无论哪种情况,您在这里所做的任何事情都可能是错误的——偶尔需要使用BitConverter将float转换为字节,但对于大多数序列化目的而言,它实际上不是正确的工具.
标签: c# bitconverter