Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[C++] битовые поля на С 08.01.03 13:15 Число просмотров: 1272
Автор: amirul <Serge> Статус: The Elderman
|
Если поля одинаковой битовости, то можно так:
unsigned long bitset;
for(int i; i < 32; i++) {
do_something((bitset & (1 << i)) >> i);
}
Можно и так
#define FIRST_FIELD_NAME 0
#define SECOND_FIELD_NAME 1
// ...
#define REF_FIELD(bitset, index) (((bitset) & (1 << (index))) >> (index))
Хотя если C++, то посмотри vector<bool> - он специфицирован как раз чтоб работать с битами. Кроме того можешь сам перегрузить какой нить оператор (лучше всего operator[]), для работы с конкретными полями
|
|
|