1

如何使用 C# 将四个字节的二进制数据(大端)转换为 IEEE 浮点值?

4

1 回答 1

1

一个简单的解决方案是反转传入的数组并将其提供给 .Net Framework 的BitConverter

byte[] reversed = data.Reverse().ToArray();
float value = BitConverter.ToSingle(reversed, 0);

对于使用大端值的成熟位转换器,请查看Jon Skeet 和 Marc GravellMiscUtil.Conversion.BigEndianBitConverterMiscUtil 库,然后使用ToSingle(byte[] value, int startIndex)

byte[] data;
float value = BigEndianBitConverter.ToSingle(data, 0);

它支持的方法与.Net框架中的BitConverter相同。可以在 MiscUtil 网站上找到源代码。

于 2012-07-29T19:33:45.317 回答