PHP マニュアル
前のページ | 第 15章演算子 | 次のページ

# ビット演算子

ビット演算子は、整数における特定のビットをオンまたはオフにすることを 可能にします。もし左辺値と右辺値共に文字列であった場合にはビット演算子は 文字の ASCII 値に対して作用します。

`<?php echo 12 ^ 9; // '5'を出力します echo "12" ^ "9"; // バックスペース文字を出力します(ascii 8) // ('1' (ascii 49)) ^ ('9' (ascii 57)) = #8 echo "hallo" ^ "hello"; // ascii値の #0 #4 #0 #0 #0 を出力します // 'a' ^ 'e' = #4 ?>`

表 15-3. ビット演算子

例 | 名前 | 結果
--- | --- | ---
$a & $b | ビット積 | $a および $b の両方にセットされているビット
$a | $b | ビット和 | $a または $b のどちらかにセットされているビット
$a ^ $b | 排他的論理和 | $a または $b にセットされており、両方にセットされていないビット
~ $a | 否定 | $a にセットされているビットはセットせず、そうでないものは逆にする
$a << $b | 左シフト | $a のビットを左に $b ビットシフトする(各シフトは "2をかける" ことを意味します)
$a >> $b | 右シフト | $a のビットを右に $b ビットシフトします (各シフトは "2で割る" ことを意味します)

警告
32 ビットシステムでは 32 ビット以上の右シフトは行わないでください。 また、結果が 32 ビットを超えてしまうような左シフトも行わないでください。

前のページ | ホーム | 次のページ
代入演算子 | 上に戻る | 比較演算子