在.NET中读取4字节IEEE浮点数

时间:2013-08-02 15:31:33

标签: c# .net floating-point ieee

我正在尝试读取包含以4字节IEEE float编码的数字的二进制文件。我正在使用.NET BinaryReader这样做,但我不确定如何正确读取数据。我当然确定ReadSingle()方法没有给我我正在寻找的价值。

有人知道如何在.NET中执行此操作吗?

3 个答案:

答案 0 :(得分:5)

如果BitConverter.ToSingle 方法不适合您,您可能需要查看 Array.Reverse更改字节的顺序。

你真的没有在你的问题中提供任何代码(建议强烈), 但我猜是这样的:

byte[]  myData = new byte[4];
myBinReader.Read(myData, 0, 4); // Get 4-bytes from the stream.

Array.Reverse(myData);  // Deal with Endian issue?
Single myvalue = BitConverter.ToSingle(myData, 4);

答案 1 :(得分:3)

答案 2 :(得分:0)

循环输入(或读取您的流)并使用BitConverter

float value = BitConverter.ToSingle( bytes, index );