是否可以在 C++ 中以另一种方式在 C++ 中定义 BIT0、BIT1、BIT2 而无需使用#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++ 中是否存在已经包含这些位掩码的类型?
最佳答案
您可以改用枚举:
enum {
BIT1 = 1,
BIT2 = 2,
BIT3 = 4,
...
};
关于c++ - 定义 BIT0、BIT1、BIT2 等而不使用#define,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3199761/