コンピューター技術の急速な発展に伴い、ビット演算はコンピューターサイエンスにおける重要な概念の 1 つになりました。 PHP も例外ではなく、ビット操作を実行するための一連の関数を提供します。この記事では、PHP がビット単位の演算を実装する方法を詳しく紹介します。
1. ビット単位の AND (&) 演算
ビット単位の AND 演算とは、2 つの 2 進数の対応するビット値、つまり値のみに対して「AND」演算を実行することを指します。 2 つの 2 進数の対応するビットの AND 演算が行われ、2 進数のビットがすべて 1 の場合、このビットの結果は 1 になり、それ以外の場合は 0 になります。たとえば、10100010 (162) と 01101011 (107) に対してビット単位の AND 演算を実行すると、結果は 00100010 (34) になります。 PHP では、ビット演算子 & を使用してビット単位の AND 演算を実装できます。
サンプルコード:
$a = 162;
$b = 107;
$c = $a & $b; //$a と $b をビット単位で AND 演算します。演算、結果は 34
2. ビット単位の OR (|) 演算
ビット単位の OR 演算とは、2 つの 2 進数の対応するビットの値に対して「OR」演算を実行することを指します。つまり、対応する 2 つのバイナリ ビットの 1 つが 1 である限り、ビットの結果は 1 になり、それ以外の場合は 0 になります。たとえば、10100010 (162) と 01101011 (107) に対してビット単位の OR 演算を実行すると、結果は 11101011 (235) になります。 PHP では、ビット単位の演算子 | を使用してビット単位の OR 演算を実装できます。
サンプルコード:
$a = 162;
$b = 107;
$c = $a | $b; //$a と $b をビットごとに OR します。演算、結果は 235
3. ビット単位の XOR (^) 演算
ビット単位の XOR 演算は、2 つの 2 進数の対応するビットの値を「XOR する」ことを指します。OR"つまり、対応する 2 つのバイナリ ビットが異なる場合、ビットの結果は 1 になり、そうでない場合は 0 になります。たとえば、10100010 (162) と 01101011 (107) に対してビット単位の XOR 演算を実行すると、結果は 11001001 (201) になります。 PHP では、ビット単位の演算子 ^ を使用してビット単位の XOR 演算を実装できます。
サンプルコード:
$a = 162;
$b = 107;
$c = $a ^ $b; //$a と $b を押す ビットごとの XOR演算、結果は 201
IV. ビット単位の NOT (~) 演算
ビット単位の NOT 演算は、2 進数の各ビットを反転すること、つまり 1 が 0 になり、0 が 1 になることを指します。 。たとえば、10100010 (162) に対してビット単位の NOT 演算を実行すると、結果は 01011101 (93) になります。 PHP では、ビット単位の演算子 ~ を使用してビット単位の NOT 演算を実装できます。
サンプルコード:
$a = 162;
$b = ~$a; //$a に対してビットごとの NOT 演算を実行し、結果は 93
5. 左シフト (<<) 演算
左シフト演算とは、2 進数を特定のビット数だけ左に移動し、右に 0 を加算することを指します。たとえば、10100010(162) を左に 3 ビットシフトすると、00010100(20) になります。 PHP では、ビット演算子 << を使用して左シフト演算を実装できます。
サンプルコード:
$a = 162;
$b = $a << 3; //$a を 3 ビット左に移動すると、結果は 20 になります
6. 右シフト (>>) 演算
右シフト演算とは、2 進数を桁数だけ右に移動し、左側に 0 または 1 を埋め込むことを指します。移動する桁数と値の符号に関連します。たとえば、10100010(162) を右に 3 ビットシフトすると、00010100(20) になります。 PHP では、ビット演算子 >> を使用して右シフト演算を実装できます。
サンプルコード:
$a = 162;
$b = $a >> 3; //$a を右に 3 ビット移動すると、結果は 20
7. 概要
要約すると、PHP はビット演算用の一連の関数を提供します。その中で、ビット単位の AND (&)、ビット単位の OR (|)、およびビット単位の XOR (^) が最も一般的なビット演算であり、ビット単位の NOT (~)、左シフト (<<) および右シフト (> ;>) はビット単位の演算です。も一般的に使用される操作です。これらのビット演算を使いこなすことで、実際のプログラミングの効率が向上します。
以上がPHPでビット単位の演算を実行する方法を説明する例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。