C语言这段代码是什么意思? if(button&1)== 1
我对此感到困惑..那是什么意思。 这段代码会做什么..
if((button & 1)==1)
我试图在网上搜索它,但我找不到一个好的答案..
提前致谢..
按位AND
运算符(&)
将第一个操作数的每个位与第二个操作数的相应位进行比较。 如果两个位都为1,则相应的结果位设置为1.否则,相应的结果位设置为0.因此,如果(button&1)为1,则if(button & 1)==1
计算为true
否则求值为false
。
这个if执行按钮和1的按位“和” ,然后将结果与0进行比较。在essense中按位and
当且仅当button
的最后一个(最低有效)位是同等的时and
它将为1 button
是奇怪的。
所以简而言之,如果检查button
是否为奇数。
&运算符是按位AND,因此该代码检查按钮中的最低位是否已设置。
通常,为了在查看更高位时具有一致的样式,可以将其与0进行比较。
它检查是否设置了最低位..换句话说, button
是偶数还是奇数。
即使这个if(button & 1)
wolud也做了同样的事情。