Определить 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 ++ тип, который уже содержит эти битовые маски?