
いつも php.net の日本語で混乱するので自分の日本語で表現しなおしてみた。
演算子 | 名称 | 説明 |
---|---|---|
& | ビット積 | 共通して立っているフラグのみ立てる。共通していない場合は折る。 |
| | ビット和 | どちらかのフラグが立っていれば立てる。どちらも立っていなければ立てないまま。 |
^ | 排他的論理和 | 片方だけ立っているフラグを立てる。共通して立っているフラグは折る。 |
ふと思い立って英語版 php.net を見てみると、英語のほうがわかりやすかった。
Bitwise Operators Example Name Result $a & $b
And Bits that are set in both $a and $b are set. $a | $b
Or (inclusive or) Bits that are set in either $a or $b are set. $a ^ $b
Xor (exclusive or)
Bits that are set in $a or $b but not both are set.
~ $a
Not
Bits that are set in $a are not set, and vice versa.
$a << $b
Shift left
Shift the bits of $a $b steps to the left (each step means
"multiply by two")
$a >> $b
Shift right
Shift the bits of $a $b steps to the right (each step means
"divide by two")