PHPのビット演算子である&がよく理解できません。マニュアルによると$a & $bは
$a および $b の両方にセットされているビットがセットされます
こうあります。マニュアルにあるコードを例にあげると
PHP
1function odd($var) 2{ 3 // 渡された整数が奇数かどうかを返します 4 return($var & 1); 5} 6
この関数は、$varが奇数の時にTRUEを返すのですか?
また、($var & 1)の部分ですが
$varが奇数であれば、2進数の最下位ビット(LSB)が1になるのは理解できます。
例えば、$varが5だったら2進数では101になり、1は2進数でも1のままです。
そうだとすると、「101 & 1」という意味ですか?
この&は最下位ビットが同じかどうかを比較しているのでしょうか?
教えていただけるとうれしいです。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/09/13 07:13