ホームページ  >  記事  >  バックエンド開発  >  PHPビット演算子の使用例を詳しく解説

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

伊谢尔伦
伊谢尔伦オリジナル
2017-06-21 09:58:121643ブラウズ

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 サイトの他の関連記事を参照してください。

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