byte[]
在 C# 中,如果我要从二进制文件中读取“3 个 32 位浮点数”作为 a Stream
,我将如何提取 3 个小数?寻找代码来读取数据,然后提取 3 位小数。假设该文件仅包含“3 个 32 位浮点数”。
问问题
206 次
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 回答