我正在研究一个项目,我们用一个字节跟踪标志。
可以使用几个选项设置该字节。例如:
0x00000001 - Person
0x00000002 - Object
0x00000003 - Vehicle
现在,当需要检查这些对象时,我们可以这样做:
如果(标志&安培; 00000001) { //这是一个人 }
问题是,我想知道如何检查并查看它是否不是一个人。原谅我,如果这是一个简单的答案,但我已经尝试过!flags& 0x00000001并且它不会检出。我也试过把它比作0,但仍然没有运气。
答案 0 :(得分:8)
你走近了。 operator!
的{{3}}大于operator&
,因此您需要括号:
if (!(flags & 0x00000001)) {
//this is not a person
}
答案 1 :(得分:2)
运营商的优先级'!'高于运营商&', 所以请使用!(flags& 0x1)。
PS:0x3不能呈现车辆,但它呈现一个人物和一个物体。使用0x4来展示Vehicel。