【发布时间】:2022-10-13 17:03:08
【问题描述】:
我有
#define MS 0x0100|0x011
我需要检查 MS 中存在的 0x011。我使用 MS & 0x011 提供价值。但是 id MS & 0x10 也给出了真正的价值,我需要它作为假
【问题讨论】:
-
#define MS (0x0100|0x011) -
(MS & 0x11 != 0x10) && (MS & 0x11 != 0x01)怎么样? -
如果你和多个位,你检查是否任何位的设置。如果所有位都已设置,则不会。
-
仅当存在 0x011 时我才需要真值,因为我将检查从 1 到 10 的循环,但对于其他值,它也会给出真值,任何其他方式来实现这一点
-
“我需要检查 MS 中存在的 0x011”听起来你需要一个函数
contains(MS, 0x011),你为什么要发布一个#define宏?
标签: c++ bitwise-operators