2

次のコードがどのように機能するかを理解するのを手伝ってくれる人はいますか? 奇数の場合は1、偶数の場合は0を返すことはわかっています。

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

数値は2進数に変換されていると思います。私が間違っている場合は修正してください。

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 に答える