这是什么意思
if ((readParameter - > type(0) & 0xff) == 0xff) {}
我知道当我们用 oxff 做 '&' 时它会返回 LSB。但是用 again == 0xff 评估它是什么意思?
我感觉是这样的(例如):
if ((00000000 00000000 00000000 11011001 & 00000000 00000000 00000000 11111111) == 00000000 00000000 00000000 11111111)
{
//IF THEY ARE EQUAL IT ENTERS IN THE LOOP ? IN THIS CASE THEY ARE NOT EQUAL
}
请指正 如果我错了?
最佳答案
But what does it mean by evaluating it with again == 0xff ?
这个 if
检查最低有效字节是否等于 0xff。 readParameter->type(0)
返回的其余部分可能包含其他位集。如果不使用 & 0xff
删除它们,则等于 0xff 可能永远不会为真。
I know when we dO '&'with something then it returns the LSB.
这是不正确的,当您使用二进制按位 AND 时,结果取决于操作中使用的参数。如果你 &
使用 0xff 那么你会得到最低有效字节,但是如果你使用 (ui32value & 0xff000000) >> 24
那么你会读取最高有效字节。
关于c++ - 我的掩蔽是否正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43093310/