if ((var1 & 0x1000111) > 0) // 只要匹配任意一位即通过
if ((var1 & 0x1000111) == 0x1000111) // 必须匹配所有位才通过
if (var1 == 0x1000111) // 必须完全一致才通过
1
GuuJiang 2021-02-20 10:11:02 +08:00 via iPhone 1
不清楚是否存在专有名词,但是如果我自己来命名的话第一个会叫 anyMatch/anySet,第二个会叫 allMatch/allSet,从代表标志位的角度出发更倾向 Set 这组
|
2
ysc3839 2021-02-20 14:24:11 +08:00 1
微软的 wil 里有位运算相关的函数
https://github.com/microsoft/wil/wiki/Bitwise-operation-helpers#flag-inspection 对于第一种,是 WI_IsAnyFlagSet 对于第二种,是 WI_AreAllFlagsSet |