我有一个大长度的整数数组。例如 {2, 3, 4, 2, 4, 2, 1, 4, ....}。我想将其转换为 C# 中的 BitArrays 数组。即 010 011 100 010 100 010 001 100
所以这可以变成3个BitArrays(最左边的bitarray,中间位的bitarray,最右边的bitarray)
这里的问题是,与 java 中可以直接存储 0/1 的 bitset 不同,bitarrays 只能包含真/假。而且由于这个数组非常长,我不想使用 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。
谢谢。