如何检查是否设置了值
if (A) Indicator |= 0x10;
if (B) Indicator |= 0x04;
if(Indicator ) ??
在这里,如果我要检查指标是否具有值
0x10
,在某些情况下指标将具有值0x10
和0x04
。我需要检查0x10
是不是 最佳答案
检查(Indicator & 0x10)
是否等于0x10
或其他。如果为0x10
,则该位(或多个位)为非零(未设置),则未设置该位。这是因为&
将和变量的每个位一起使用,因此与0x10
(或任何其他整数,称为MASK
)进行ANDing意味着iff Indicator
在该ANDed整数(1
)的每个位置都具有一个MASK
,结果将与ANDed整数(MASK
)。