4 つの一般的なビット演算記号: & (ビット単位の AND)、| (ビット単位の OR)、^ (ビット単位の XOR)、~ (ビット単位の否定)
& (ビット単位の AND): 対応するビットが両方とも 1 の場合、 & 演算後は 1、それ以外の場合は 0| (ビットごとの OR): 対応するビットの 1 つが 1 の場合、演算後は 1 になり、両方とも 0 の場合は次のようになります。 0 ^ (ビットごとの XOR): 対応するビットが同時に 1 でない場合は、^ 演算後に 1 になります。同時に 0 の場合は 0 になります。同時に 1 の場合は 0 になります。 、^ 演算の後も 0 になります。): $a+(~$a)=-1 ディスプレイスメントは PHP の数学演算です。いずれかの方向に移動されたビットは破棄されます。左にシフトすると、右側はゼロで埋められます。これは、正と負の符号が保持されないことを意味します。
右にシフトすると、左側は符号ビットで埋められ、符号ビットは変更されません。 注: php には符号なしの数値はありません。つまり、php 内の数値はすべて署名されています。
コンピューター内の演算はすべて 2 の補数加算演算
の形式で実行されます。php のビット演算プロセスは次のとおりです: (8 ビット コンピューターを例にします) 2&-7= の場合?例として計算します:
(1)、2 の補数を計算します: 2-> 元のコード: 00000010-> 補数: 00000010(2) )、-7 の補数を計算します:-7-> 元のコード: 11111000-> 補数: 11111001
(3)、逆の補数を計算します。コード ->元のコード 2&-7 補数: 00000000->逆コード: 00000000->元のコード: 00000000 (4)、2&-7 の値を取得するための 2&-7 元のコードがありますSo 2& -7 = 0コード例は次のとおりです:
<?php $m=8; $n=12; $p=-109; $mn=$m&$n; echo $mn."<br>"; $mn=$m|$n; echo $mn."<br>"; $mn=$m^$n; echo $mn."<br>"; $mn=~$m; echo $mn."<br>"; $mn=~$p; echo $mn."<br>"; ?>
8 12 4 -9 108
以上がPHPビット演算子の使用例を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。