0

C#で、「3つの32ビット浮動小数点数」をbyte[]バイナリファイルからとして読み取る場合Stream、小数点以下3桁をどのように抽出しますか?データを読み取り、小数点以下3桁を抽出するコードを探します。ファイルには「3つの32ビット浮動小数点数」のみが含まれていると想定します。

4

1 に答える 1

3

使用BitConvert.ToSingle

// numbers to read
var count = 3; 

// read file bytes into a buffer
var buffer = new byte[sizeof(float) * count];
var stream = File.OpenRead("path/to/file");
stream.Read(buffer, 0, buffer.Length);
stream.Dispose();

var numbers = Enumerable
        .Range(0, count)
        // read 32 bits from buffer and convert to float
        .Select(index => BitConverter.ToSingle(buffer, index * sizeof(float)))
        .ToArray();
于 2012-08-05T11:12:03.503 に答える