c # - представляет массив целых чисел в битовом поле - PullRequest
0 голосов
/ 17 ноября 2010

у меня есть массив целых чисел типа

int [] intArray;
intArray = new int[3] { 1, 2 , 40 , 45 , 50};

массив содержит числа от 1 до 50

я хочу преобразовать этот массив в один бит, представляющий как

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

Кто я могу сделать это в C #?

1 Ответ

2 голосов
/ 17 ноября 2010
long bitField = 0;

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

В этом ответе используются битовые числа из 1 в соответствии с вашим вопросом.Если вы хотите, чтобы 0 ссылался на первый бит, просто измените (bit - 1) на bit.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...