我看到一些这样的代码:
void testCase2 (int variant)
{
if (variant & 0x1)
{
return;
}
}
什么是&
if语句中的运算符意思是==
?为什么要使用&
?
&
是按位与运算符。给定两个整数操作数,它对每个位位置执行 AND 运算,即在结果中仅设置那些在中设置的位both操作数。
如果操作数之一是0x1
在本例中,结果将是0x1
当且仅当该位是also设置在other操作数(这里,variant
).
由于 C/C++ 认为任何非零整数都是true
,
if (variant & 0x1)
检查最低有效位是否variant
is set.
相似地,
if (variant & 0x2)
会检查是否第二最低有效位 in variant
已设置,并且
if (variant & 0x3)
会检查是否either的两个最低有效位variant
is set.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)