我有以下形式的数据
float [1000,2]
数据。
我想以字节 []b 的形式转换该数据。
我想再次转换byte []b
为二维float [1000,2]
数据数组
我想这样做是因为我可以轻松地将数据以字节的形式保存到服务器。
我有以下形式的数据
float [1000,2]
数据。
我想以字节 []b 的形式转换该数据。
我想再次转换byte []b
为二维float [1000,2]
数据数组
我想这样做是因为我可以轻松地将数据以字节的形式保存到服务器。
你可以使用这些方法。他们使用简单的编程结构,我认为理解它们并不难。第一种方法将 float 2Dimansional 数组转换为一个字节数组。它首先声明字节数组,然后每个浮点值转换为 4 个字节并将它们存储到大字节数组中。
public byte[] ToByteArray(float[,] nmbs)
{
byte[] nmbsBytes = new byte[nmbs.GetLength(0) * nmbs.GetLength(1)*4];
int k = 0;
for (int i = 0; i < nmbs.GetLength(0); i++)
{
for (int j = 0; j < nmbs.GetLength(1); j++)
{
byte[] array = BitConverter.GetBytes(nmbs[i, j]);
for (int m = 0; m < array.Length; m++)
{
nmbsBytes[k++] = array[m];
}
}
}
return nmbsBytes;
}
第二种方法将字节数组转换为二维浮点数组。它首先声明数组,然后每四个字节转换为浮点数,然后将其存储到二维浮点数组中的指定位置。
public float[,] ToFloatArray(byte [] nmbsBytes)
{
float[,] nmbs = new float[nmbsBytes.Length /4 / 2, 2];
int k = 0;
for (int i = 0; i < nmbs.GetLength(0); i++)
{
for (int j = 0; j < nmbs.GetLength(1); j++)
{
nmbs[i, j] = BitConverter.ToSingle(nmbsBytes,k);
k += 4;
}
}
return nmbs;
}