我有一个像
这样的整数数组int [] intArray;
intArray = new int[3] { 1, 2 , 40 , 45 , 50};
数组包含1到50之间的数字
我想将此数组转换为一位代表
100001000010000............11
我可以在c#中执行此操作吗?
答案 0 :(得分:2)
long bitField = 0;
foreach (int bit in intArray)
bitField |= 1l << (bit - 1);
根据您的问题,此答案假设基于1的位数。如果您希望0引用第一位,只需将(bit - 1)
更改为bit
。