に変換するためのこのコードがありbyte[]
ますfloat[]
。
public float[] ConvertByteToFloat(byte[] array)
{
float[] floatArr = new float[array.Length / sizeof(float)];
int index = 0;
for (int i = 0; i < floatArr.Length; i++)
{
floatArr[i] = BitConverter.ToSingle(array, index);
index += sizeof(float);
}
return floatArr;
}
問題は、私は通常NaN
結果を得るということです!なぜこれが必要ですか?にデータがあるかどうかを確認しましたがbyte[]
、データは問題ないようです。それが役立つ場合、値の例は次のとおりです。
new byte[] {
231,
255,
235,
255,
}
ただし、NaN
floatに変換すると、これは(数値ではなく)戻ります。何が問題なのですか?byte[]
に変換する他のより良い方法はありfloat[]
ますか?バッファに読み込まれた値は、他のプログラム(.wavファイルの増幅を実行する)と比較したので正しいと確信しています。