我有一个bin文件,其中包含float32值,32xinf矩阵数组。数组的大小取决于录制时间,它可以是32x500秒,32x5000 10秒等等。
我使用下面的代码在Matlab中读取文件。
float[,] floatArray = new float[1, 32];
using (BinaryReader Reader = new BinaryReader(File.Open(string.Format("{0}{1}.bin", DefaultFilePath, "MyFile"), FileMode.Open)))
{
int c = 0;
for (int i = 0; i < floatArray.GetLength(0); i++)
{
for (int j = 0; j < floatArray.GetLength(1); j++)
{
floatArray[i, j] = Reader.ReadSingle();
MeanOfChannels[j] += floatArray[i, j];
}
}
}
在c#中,我使用此代码来读取文件。
BitConverter.ToSingle(Reader.ReadBytes(sizeof(float)), 0);
这里是二进制文件中前32个值的结果。
我在Matlab和
中检查了float32(32位/ 4字节)的大小Reader.ReadSingle()
(读取4个字节)。我也尝试使用下面的代码。
{{1}}
Matlab和c#中的值不相同。我做错了什么?