Создание массива битов

Мне нужно создать массив битов фиксированного размера 32. Изначально все биты должны быть 0, но потом некоторые из них мне нужно будет менять по индексу на 1, и проверять изменилось ли значение. Как это можно сделать пробовал использовать Bitset но возможно это можно сделать лучше.


Ответы (1 шт):

Автор решения: Andrew Bystrov

Массив битов размера 32 можно хранить в обычном int - у него размерность позволяет. Изменять бит по индексу можно так

int value = 0;
int index = 10;
value = value | 1 << index; // value = 1024

сбросить бит можно так

int value = 32;
int index = 5;
value = value & ~(1 << index); // value = 0
→ Ссылка