/// <summary>
/// ビットシーケンス反転
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public static byte[] ReverseBitSequence(byte[] data)
{
if (data == null)
throw new ArgumentNullException();
// 初期値設定
var maxLength = data.Length * 8;
byte[] result = new byte[data.Length];
var source = new BitArray(data);
var target = new BitArray(maxLength);
// 反転
for (int index = 0; index < maxLength; index++)
{
target.Set(maxLength - index - 1, source.Get(index));
}
// 結果
target.CopyTo(result, 0);
return result;
}
0 件のコメント:
コメントを投稿