我的掩蔽是否正确
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
那么你将读取最高有效字节。
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
那么你将读取最高有效字节。