【发布时间】:2017-08-22 22:18:09
【问题描述】:
什么意思
if ((readParameter - > type(0) & 0xff) == 0xff) {}
我知道当我们使用 oxff 执行 '&' 时,它会返回 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
}
请纠正我 如果我错了?
【问题讨论】:
-
(x & 0xff) == 0xff为真当且仅当x的最低有效字节为0xff。它回答了你的问题吗? (注意:括号不是必需的,但通常添加以明确&不是&&的错字并消除编译器警告) -
我知道当我们对某些东西执行 '&' 时,它会返回 LSB:不,这不是真的。
0xff & something将返回something的 LSB,但0x12 & something不会。 -
什么是
1 & 0xFF?42 & 0xFF或255 & 0xFF呢?那么对于N的不同值,(N & 0xFF) == 0xFF为您提供了什么?
标签: c++ operators bit-shift masking