2017-07-14 14 views
0

この質問は、Bit array to Byte array in JAVAに非常に近いです。次のビット配列をバイト配列に変換しますか?C#でビット配列をバイト配列に解析する方法は?

0xB5 0x02

がどのように私はこれを行うと仮定:

int[] bits = {1, 0, 1, 0, 1, 1, 0, 1, 0, 1};

しかし、答えに異なるが、関連する質問があり、私はする必要があり、結果ビッグエンディアンを保存したいですか?ありがとう!

+0

あなたはushort' 'に' int'を変換する方法を求めていますか?あなたが共有できるコードの試行は何ですか? – KernelMode

+0

ビット配列はC#型ではないでしょうか?またはSystem.Collections.BitArray? – Jimbot

+0

申し訳ありませんが私の表情、私は私の質問を再編集します。 – BarryLib

答えて

2

は、このコードを試してみてください。

byte[] result = bits.Select((x, i) => new {byteId = i/8, bitId = i % 8, bit = x}) 
    .GroupBy(x => x.byteId) 
    .Select(x => (byte) x.Reverse().Aggregate(0, (t, n) => t | n.bit << n.bitId)) 
    .ToArray(); 

+0

ご返信ありがとうございます。コードがニーズを満たしていないようです。たとえば、私のビット[]が '1 0 0 0 0 0 0'の場合、結果は' 192 'ではなく '3'になります。 – BarryLib

+0

@BarryLib私の更新を見てください –

+0

いいね! – BarryLib

関連する問題