2

4 バイトの IEEE float でエンコードされた数値を含むバイナリ ファイルを読み込もうとしています。.NET を使用してこれを行っていますBinaryReaderが、データを正しく読み取る方法がわかりません。ReadSingle()メソッドが私が探している価値を与えていないことは確かです。

.NETでこれを行う方法を知っている人はいますか?

4

3 に答える 3

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);
于 2013-08-02T15:50:33.233 に答える