ホームページ  >  記事  >  バックエンド開発  >  PHPビット演算子の詳しい説明

PHPビット演算子の詳しい説明

藏色散人
藏色散人転載
2021-01-05 16:12:415001ブラウズ

推奨: "PHP ビデオ チュートリアル "

ビット演算子

ビット演算子は、バイナリ ビットを下位から参照します。 bit 上位ビットに合わせて演算を実行します。

#シンボル機能例個人的な理解#&$m & $n|$m | $n^$m | $n~~$m#0b060d3de9909d12f5178db71c767e9a>$m >> $n&operator
ビット単位 AND すべての 1 は 1、それ以外の場合は 0
ビット単位 OR すべての 0 は 0、1 は 1
ビット単位 XOR は 1 とは異なり、 と同じです0
ビットごとの反転
右にシフト

<?php
$m = 1;
$n = 2;
$mn = $m & $n;
echo $mn;
演算結果は 0

説明: 1 と 2 をそれぞれ次のようにバイナリに変換します。

00000001

00000010

ビット単位の AND の処理では、すべての 1 が 1、比較結果は 00000000 となるため、出力は 0

|Operator

<?php
$m = 1;
$n = 2;
$mn = $m | $n;
echo $mn;
演算結果は 3 です。同様に、上記のように 2 進数 ##00000001# に変換されます

##00000010

# #ビットごとの OR のプロセスで、1 が 1 で、すべての 0 が 0 の場合、結果は 00000011 となるため、出力は 3

^ 演算子

<?php
$m = 1;
$n = 2;
$mn = $m ^ $n;
echo $mn;

The実行結果は 3 です。同様に、上記の 2 進数に変換されます。

0000000100000010

ビットごとの OR の処理で、差が 1、同じが0 なので、結果は 00000011 となり、3 が出力されます。

~Operator

<?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

2df8d2537d91202490cbd3a45c349829> 演算子

<< 演算子と同様に、右に 1 位置シフトしますが、これは右シフトではありません。ここで完了しました。説明が多すぎます。


プログラミング関連の知識について詳しくは、

プログラミング教育

をご覧ください。 !

以上がPHPビット演算子の詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。