Определить BIT0, BIT1, BIT2 и т. Д. Без #define

Возможно ли в C ++ определять BIT0, BIT1, BIT2 другим способом в C ++ без использования #define?

#define BIT0 0x00000001
#define BIT1 0x00000002
#define BIT2 0x00000004

Затем я беру то же самое и делаю состояния из этих битов:

#define MOTOR_UP   BIT0
#define MOTOR_DOWN BIT1

Примечание: я использую только 32 бита, а не 64 бита. Я также используюsetBit(flagVariable, BIT) (следовательно,clrBit макрос, чтобы сделать противоположное) макрос, чтобы установить биты, затем сравнить, установлен ли бит, используя побитовый оператор, такой как

if (flagVariable & MOTOR_UP) { 
   // do something
   clrBit(flagVariable, MOTOR_UP);
}

Есть ли в C ++ тип, который уже содержит эти битовые маски?

Ответы на вопрос(9)

Ваш ответ на вопрос