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