c# - 表示位域中的整数数组

时间:2010-11-17 16:50:45

标签: c# arrays c#-4.0 bitmap integer

我有一个像

这样的整数数组
int [] intArray;
intArray = new int[3] { 1, 2 , 40 , 45 , 50};

数组包含1到50之间的数字

我想将此数组转换为一位代表

100001000010000............11

我可以在c#中执行此操作吗?

1 个答案:

答案 0 :(得分:2)

long bitField = 0;

foreach (int bit in intArray)
    bitField |= 1l << (bit - 1);

根据您的问题,此答案假设基于1的位数。如果您希望0引用第一位,只需将(bit - 1)更改为bit