Поскольку я новичок в битовых полях, мне нужен совет относительно того, что происходит с различными примерами, которые я видел в Интернете. Я хочу использовать битовые поля вместо битовых масок для удобства чтения и упрощения обслуживания в дальнейшем для нового ppl.
Это распространенный способ объявления битового поля:
typedef enum
{
unsigned int x: 1;
unsigned int y: 1;
}statusBits1;
Пока все хорошо, потом я увидел:
typedef enum
{
unsigned int x = 1 << 0,
unsigned int y = 1 << 1
}statusBits2;
В моем обучении я считаю, что это устанавливает значения по умолчанию для любых типов данных statusBits2. Это также устанавливает размер полей x и y в 1 бит, как в statusBits1? Я ищу сочетание того и другого.
заранее спасибо.
РЕДАКТИРОВАТЬ: Спасибо за ответы! Вы заставили меня перечитать то, что я изучал. Я смешивал информацию из разных сообщений о битовых полях и битовых масках!
А именно эти:
Объявление и проверка / сравнение (битовая маска-) перечислений в Objective-C
http://forum.codecall.net/topic/56591-bit-fields-flags-tutorial-with-example/
Я возвращаюсь к C после нескольких лет работы с C # / C ++ и повторного изучения битовой игры.
enum
? где вы видите этот синтаксис? stackoverflow .com / questions / 1102542 /. - person Jason Hu   schedule 06.07.2015