ホームページ >バックエンド開発 >PHPチュートリアル >PHPのビット演算を詳しく解説

PHPのビット演算を詳しく解説

小云云
小云云オリジナル
2018-03-15 16:31:502248ブラウズ

PHP にはビット演算を使用する演算子の種類があります。この記事では主に PHP のビット演算について詳しく説明します。お役に立てれば幸いです。

一:& ビットごとの AND

$a&$b は、両方とも 1 であるバイナリ $a ビットとバイナリ $b ビットを 1 に設定し、他のビットを 0 に設定します

例:

7&3=>7 ( 0111)&3(0011) 0111 と 0011 は両方とも 1 で、最後の 2 つの 1 だけが 1 であることがわかり、7(0111)&3(0011)=0011 は 10 進数で 3 となり、7&3=3 になります

ビットごとの AND 実際の用途は、パリティ $a&1 を決定することです

原理分析:

1 の 2 進法では、最後の桁だけが 1、他の桁はすべて 0、奇数の最後の桁も 1、

例えば、11&1=>11(1011)&1(0001)=1は奇数、12&1=>12(1100)&1=0は偶数です

この方法は奇数と奇数の判定においてより高いパフォーマンスを持っています。 $a%2==1

二より偶数:| またはビットごとに同一の OR

$a|$b は $a と $b の任意のビットを 1 に設定します。

上記と同じ例

3: ^

例は上と同じです

Four:~ ビットごとの反転ではありません

$a~$b $a の 0 であるビットを 1 に設定し、その逆も同様です。

上記と同じ例

5: << 左にシフト (左にシフト)

$a<<$b; $a のビットを左に $b 回移動します (各移動は「乗算」を意味します) 2" ")。

ビット演算は乗算や除算よりも高速であるため、$a*2 は $a<<1

6: >>右シフト (右シフト)

$a>>$b と書くことができます。 ; a のビットは $b 回右にシフトされます (各シフトは「2 を掛ける」ことを意味します)。

ビット演算は乗算や除算よりも高速であるため、$a/2 は $a>>1 として記述できます

関連推奨事項:

PHP ビット演算子の許可操作の詳細な例

例の概要phpビット演算 シンボルの使い方のヒント

phpビット演算子の使用例を詳しく解説

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。