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

时间:2012-07-29 18:58:05

标签: c# binary ieee-754

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

1 个答案:

答案 0 :(得分:1)

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

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

对于使用大端值的完整位转换器,请查看Jon Skeet和Marc Gravell在MiscUtil library中的MiscUtil.Conversion.BigEndianBitConverter,然后使用ToSingle(byte[] value, int startIndex)

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

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