如何使用 C# 将四个字节的二进制数据(大端)转换为 IEEE 浮点值?
问问题
996 次
1 回答
1
一个简单的解决方案是反转传入的数组并将其提供给 .Net Framework 的BitConverter
:
byte[] reversed = data.Reverse().ToArray();
float value = BitConverter.ToSingle(reversed, 0);
对于使用大端值的成熟位转换器,请查看Jon Skeet 和 Marc GravellMiscUtil.Conversion.BigEndianBitConverter
的MiscUtil 库,然后使用ToSingle(byte[] value, int startIndex)
:
byte[] data;
float value = BigEndianBitConverter.ToSingle(data, 0);
它支持的方法与.Net框架中的BitConverter
类相同。可以在 MiscUtil 网站上找到源代码。
于 2012-07-29T19:33:45.317 回答