バイト配列の n 番目ごとの short を取得し、それを新しい配列にコピーするスムーズで高速な方法を探しています。
l = 下位バイト u = 上位バイト
私のデータは次の形式です: byte[] bytes= {a0l, a0u, b0l, b0u, c0l, ..., n0l, n0l, a1l, a1u, b1l, ..., nXl, nXu}
必要なのは、長さ X の n バイト配列を取得することです (たとえば、a[0..X]、b[0..X]、... または M[a..n][0..X])。
次の2つのステップを考えていました。
次のようなものを使用して、値を short (=> short[] shorts= { a0, b0, c0, ... n0, a1, .. nX}) に変換します
short[] shorts= new short[(int)(Math.Ceiling(bytes.Length / 2.0)]; Buffer.BlockCopy(bytes, 0, shorts, 0, bytes.Length);
short から毎秒値を取得する
I'm looking for some fast code here... something like blockcopy with skip I am completely aware that I could use a loop - but maybe there's a better solution to it as I need to do this task for 80MB/s...
それをバイト配列に変換します(同じ - ブロックコピーを使用)
byte[] arrayX = new byte[shorts.Length * 2]; Buffer.BlockCopy(shorts, 0, arrayX , 0, arrayX .Length);
どうもありがとう!