Pla*_*oks 1 c++ bit-manipulation
我正在研究一个项目,我们在一个字节中跟踪标志.
该字节可以通过几个选项进行设置.例如:
0x00000001 - Person
0x00000002 - Object
0x00000003 - Vehicle
Run Code Online (Sandbox Code Playgroud)
现在,当需要检查这些对象时,我们可以这样做:
if(flags&0x00000001){//这是一个人}
问题是,我想知道如何检查并查看它是否不是一个人.原谅我,如果这是一个简单的答案,但我已经尝试过!flags&0x00000001并且它不会检出.我也试过把它比作0,但仍然没有运气.
你走近了.operator!具有较高的优先级比operator&,所以你需要括号:
if (!(flags & 0x00000001)) {
//this is not a person
}
Run Code Online (Sandbox Code Playgroud)