我的掩蔽是否正确

Is my masking correct

是什么意思
if ((readParameter - > type(0) & 0xff) == 0xff) {}

我知道当我们用 oxff 做 '&' 时它 returns LSB。但是再次使用 == 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
   }

请指正 如果我错了?

将过滤操作的结果 ( & 0xff ) 与掩码本身进行比较,以检查参数的最后 8 位是否都等于 1

But what does it mean by evaluating it with again == 0xff ?

if 检查最低有效字节是否等于 0xff。 readParameter->type(0) returns 的其余部分可能包含其他位集。如果不使用 & 0xff 删除它们,则等于 0xff 可能永远不会为真。

I know when we dO '&'with something then it returns the LSB.

这不是真的,当您使用二进制按位 AND 然后结果取决于操作中使用的参数。如果你 & 与 0xff 那么你会得到最低有效字节,但如果你这样做 (ui32value & 0xff000000) >> 24 那么你将读取最高有效字节。