2

任何人都可以帮助我理解以下代码的工作原理吗?我知道如果奇数返回 1,偶数返回 0。

echo (7 & 1);  // result 1
echo (6 & 1);  // result 0

我认为这些数字已转换为二进制。如果我不正确,请更正。

4

2 回答 2

5
7 = 0000111b
1 = 0000001b
------------
& = 0000001b = 1

对于 6:

6 = 0000110b
1 = 0000001b
------------
& = 0000000b = 0
于 2012-12-26T13:51:59.287 回答
2

是的,您正在对数字执行 AND 操作,所以

Dec     BINARY   Output
7  ===  0111
1  ===  0001
------------------------
AND  op 0001     1


Dec     BINARY
6  ===  0110
1  ===  0001
------------------------
AND  op 0000     0

同样地,

Dec     BINARY
7  ===  0111
6  ===  0110
------------------------
AND  op 0110         6
于 2012-12-26T13:51:13.927 回答