-3

我对此感到困惑..这是什么意思。这段代码会做什么..

if((button & 1)==1)

我试图在网上搜索它,但我找不到一个好的答案..
提前谢谢..

4

4 回答 4

3

按位运算AND(&)将第一个操作数的每个位与第二个操作数的相应位进行比较。如果两个位都为 1,则相应的结果位设置为 1。否则,相应的结果位设置为 0。因此,如果 (button & 1) 为 1,则if(button & 1)==1计算结果true为 ,否则计算结果为false

于 2013-05-23T10:30:41.077 回答
2

这 if 对 button 和 1 的值执行按位“与”,然后将结果与 0 进行比较。本质上,and当且仅当最后一个(最低有效位)位为 1 时,按位将为 1,这button也相当于button奇怪的。

所以简而言之,这个 if 检查是否button是奇怪的。

于 2013-05-23T10:26:39.023 回答
0

它检查是否设置了最低位..换句话说,button是偶数还是奇数..

甚至这个if(button & 1)wolud也做了同样的事情。

于 2013-05-23T10:29:43.833 回答
0

& 运算符是按位与,因此此代码检查是否设置了按钮中的最低位。

通常,为了在查看更高位时具有一致的风格,将与 0 进行比较。

于 2013-05-23T10:27:19.617 回答