PHPのメディアン演算の使い方の紹介
phpビット演算はPHPではあまり使用されませんが、非常に便利なPHPビット演算の使い方を紹介します。
$a & $b and (ビット単位の AND)
$a | $b or (ビット単位の OR)
$a ^ $b Xor (ビット単位の排他的 OR)
-
~$ a Not(ビット単位ではありません)
-
$a << $b 左シフト(左シフト)
- $a >> $b 右シフト(右シフト)
説明$a & $b ビットごとの AND は、$a と $b の両方が 1 であるビットを 1 に設定します。
例:10 & 12 = 8
12 1100
1000 8
$a または、$ のいずれかを設定しますa または $b は 1 になります。
例: 10 | 12 = 14
10 1010
12 1100
1110 14
$a ^ $b ビットごとの XOR
例: 10 ^ 12
10 1010
12 1100
0110
~ビット単位の表記は $a の 0 を 1 に設定し、1 を 0 に設定します
例: ~10 =
10 1010 111111111111111111111111111111111 111111111111111111111110101 -11
$a $b を左に移動すると、$a の要素が左に移動します$b 回 (各移動は 2 を乗算することを意味します);
例: 1 << 10 = 1024
1(1) は 10 ビットを左に移動します 10000000000 (1024)
は 1*2 の 10 乗に相当します。 PHP に電源操作がないのは本当に憂鬱です。
$a >> $a の値を右に $b 回移動します (各移動は 2 で割ることを意味します)
例: 1024 <<2 = 1256
10000000000(1024) 2 ビットで 100000000 (256)
php は演算 $a & $b と (ビット単位の AND) $a | $b or (ビット単位の OR) $a ^ $b Xor (ビット単位の排他的 OR) ~$a Not (ビット単位) not) $a <<$b 左にシフト (左にシフト) $a >> $b 右にシフト (右にシフト)
$a と $b を結合する $a & $b の詳細説明両方とも 1 から 1 のビット; 例: 10 & 12 = 810 101012 1100 1000 8
$a | $b ビットごとの OR は、$a または $b の 1 であるビットを 1 に設定します。 1100 1110 14
$a ^ $b ビット単位の XOR の例: 10 ^ 1210 101012 1100 0110 6
~a ビット単位の NOT は、$a の 0 を 1 に設定し、1 を 1 に設定します。 例: ~10 = 10 1010 11111111111111111111111 1111111111111111111111111111111110101 -11
$ a << $b $a $b 回左に移動します (各移動は 2 を乗算することを意味します); 例: 1 < ;< 10 = 10241(1) 10 桁ずつ左にシフトします 10000000000(1024) *2 の 10 乗 PHP にべき乗演算がないのは本当に憂鬱です。
$a >> $b 右シフト $a を右に $b 回移動します (各移動は 2 で除算することを意味します) 例: 1024 << 2 = 125610000000000(1024) 右シフト 2 のビットは次の組み合わせです。 of 100000000(256)
PHPの
error_reportingのパラメータ値リスト
- 1 E_ERROR
- 2 AR NING
- 4 E_PARSE
- 8 E_NOTICE
- 16 E_CORE_ERROR
- 32 E_CORE_WARNING
- 64 E_COMPILE_ ERROR
- 128 E_COMPILE_WARNING
- 256 E_
- 512 E_USER_WARNING
- 1024 E_USER_NOTICE
40 96 E_RECOVERABLE_ERROR- value の値がすべて飛んでいることがわかり、 all 2のn+1乗です
これをもう一度見てください。 value の値をバイナリに変換します。
値定数
0000 0001 E_ERROR0000 0010 E_WARNING
0000 0100 E_PARSE
0000 1000 E_NOTICE
0001 0000 E_CORE_ERROR
0010 E_CORE_WARN ING
.
.
.
... ...電力が 1 回追加されるごとに、1 桁がバイナリ システムに追加されました (コンピューターを勉強したことのあるほとんどの人はこれを知っています:)…)
注: 各オプションはビットに対応します (1 はオンを意味し、0 はオフを意味します)
それでは、パラメーターを設定する利点を見てみましょうこのような。
例として 3 つのパラメータを使用して効果を確認します
error_reporting(3);//decbin(3) == 0000 0011; (相当于设置 E_WARNING 和 E_ERROR ) error_reporting(4);//decbin(4) == 0000 0100;(相当于设置 E_PARSE ) error_reporting(5);//decbin(5) == 0000 0101;(相当于设置 E_PARSE 和 E_ERROR)
設定の取得:
特定の項目がオンになっているかどうかを判断するには、ビット演算を使用して取得できます (& - "AND" ルール、すべて 1 は 1 です) 、それ以外の場合は 0)
//E_PARSE
if($n & 4){//E_PARSE がオンになります
//4の 2 進数は 0100 です。3 番目のビットだけが 1 なので、「」を実行すると、 &" 演算
他の場合
すべては 0 に設定されます//したがって、$n の 3 番目のビットも 1 である場合にのみ結果が 0 より大きくなります。 //4(0100)、5(0101)、6(0110)、7(0111)など
}else{
//E_PARSEはオフです
//3番目のビットは0で、このオプションがオフであることを意味します
設定の変更: ($n は現在の 10 進数値を表します)
アプリケーション中に、必要に応じて特定のビットのスイッチを設定することがあります。
以下の使用法を参照してください。//E_PARSE 項目を閉じて、「&」「AND」ルールを使用します
$n = $n&(8192-4-1);
//なぜ 8191 を使用するのですか?
//これはオプションの数に関係します。このエラー表示マークは合計 13 ビットを使用します (4096 は 2 進数で 13 ビット)、8192 は (14 ビット) です。
//なぜマイナス 4 マイナス 1 なのでしょうか。 ?
//8192-4-1=8187。 (1111111111011) 2 進数は 13 桁で、使用する最大桁数と同じです。そして、3 番目のビットの対応する値は 0 です。
//この数値を使用して、1 ~ 4096 の間の任意の数値とビットごとの AND 演算を実行します。0 に設定される 3 番目のビットを除いて、他のビットの値は変更されません? "AND" ルール:)
//同様に、E_WARNING をオフにしたい場合
//$n = $n&(8192-2-1);
//E_PARSE 項目を有効にするには、'|' を使用しますOR" ルール
$ n = $n|4;
//上記の終了を読んだ後、開始についていくつかのアイデアが浮かぶかもしれません:)
// '|' - "OR" ルールには 1 が 1 として含まれ、それ以外の場合は 0 になります。
//上記はすべてのビットです。1 の場合、他のビットには影響しません。次に、すべてのビットが 0 の場合、他のビットには影響しません:)
//したがって、対応する値を設定するだけです。後続のオペランドの 2 進ビットを 1 にすると、他のビットはすべて 0 になり、問題ありません。
//見つけましたか?これは、それぞれの設定項目に対応する 10 進数値です:
以上がPHPのメディアン演算の使い方の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます
