我正在尝试读取包含以4字节IEEE float编码的数字的二进制文件。我正在使用.NET BinaryReader
这样做,但我不确定如何正确读取数据。我当然确定ReadSingle()
方法没有给我我正在寻找的价值。
有人知道如何在.NET中执行此操作吗?
答案 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 );