PHP演算子の「php算術演算子」、「php文字列演算子」、「代入演算子」については既に説明してきましたが、今日はPHP演算子の「ビット演算子」について詳しく紹介していきます。 。
ビット演算子は PHP ではあまり使用されませんが、それでも非常に便利です。次のコンテンツでは、ビット演算子の使用法を示す例を示します。
ビット演算子は、バイナリビットを下位ビットから上位ビットに整列させた後の演算を指し、整数で指定されたビットの評価と演算を可能にします。
PHPの演算子は以下の表の通りです
演算子 | 説明 | 例 |
& | ビットごとのAND | $m & $n |
| | ビット単位の OR | $m | &$n |
ビットごと | $ m & lt; | |
& gt; & gt; | 正しい動き | $ n |
上の表の演算子を説明するために例を使用してみましょう <?php $m=1; //1=0 00000001 $n=2; //2=00000010 $mn=$m&$n; echo $mn."<br/>"; $mn=$m^$n; echo $mn."<br/>"; $mn=$m|$n; echo $mn; ?> ログイン後にコピー コードの実行結果: 例の説明: $m&$n: 両方とも 1 の場合は 1、それ以外の場合は です0.つまり、$a と $b のビットのうち、両方とも 1 であるビットを 1 に設定し、それ以外の場合は 0 に設定します。 00000001 ← $m 比較結果は00000000なので出力は0 $m^$n: ビットごとのORの処理で差は1で、同様に 0 です。 ^ 00000010 ← $n つまり、結果は00000011となり、3が出力されます。 $m|$n: ビット単位のORの処理で、1は1、0はすべて0、 00000001 ← $m 00000010 ← $n結果は00000011なので、出力3 上の例は「ビットごとの OR」、「ビットごとの OR」、「ビットごとの XOR」について説明しています。次の 3 つの例を見てみましょうビットごとの NOT またはビットごとの否定の例 、コードは次のとおりです <?php $m = 2; $m1 = ~$m; echo $m1; ?> ログイン後にコピー 現時点での走行結果は-3、ここで注意が必要です。 注: コンピューターでは、負の数は正の値の補数形式で表現されます。 1: 2 の 32 ビットの元のコードは 0000 0000 0000 0000 0000 0000 0000 0010 です2: ビットごとの反転は 1111 1111 1111 1111 1111 1111 1111 1101 です 最初の数値が 1 なので、符号ビットは1 は負の数なので、その正の値の補数形式は次のように表されます: (符号ビットは変更されず、ビットごとに反転され、最後に 1 が追加されます)1000 0000 0000 0000 0000 0000 0000 0011出力は - 3 左シフト右シフトコード例 <?php $m = 12; // 12=00001100 $n = 3; // 3=00000011 $mn= $m << $n; echo $mn ."<br/>"; $mn= $m >> $n; echo $mn ; ?> ログイン後にコピー $m: ビットを移動しますin $m を左に $n 回移動します (各移動は「2 を掛ける」、つまり「2$b を掛ける」を意味します)。 0000 1100 ← $m 0110 0000 = 96
|
以上がPHP演算子(4)「ビット演算子」例解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。