私は巨大な長さの整数配列を持っています。例: {2, 3, 4, 2, 4, 2, 1, 4, ....}。これを C# の BitArrays の配列に変換したいと思います。つまり、010 011 100 010 100 010 001 100
したがって、これを 3 つの BitArrays (一番左のビットの bitarray、真ん中のビットの bitarray、一番右のビットの bitarray) に変更できます。
ここでの問題は、0/1 を直接格納できる Java の bitset とは異なり、bitarray には true/false のみを含めることができることです。そして、この配列は非常に長いので、if/else を使用したくありません。
for(int i=0; i<N; i++)
if (bit is 0) then // time consuming step
leftMostbitArray[0] = false;
else
leftMostbitArray[0] = true;
この手順を省略できる回避策はありますか? または、おそらく別のデータ構造です。サイズ制限があるため、BitVector32 を使用したくありません。
ありがとう。