ビット単位の演算: 理解と応用
AND、OR、XOR、NOT などのビット単位の演算子は、複数ビットの値を操作します。 、各ビットを独立して扱います。これらの演算により、バイナリ データを正確に操作できます。
ビット演算子
-
AND: 両方の入力が 1 の場合は 1 を返し、それ以外の場合は 1 を返します。 0.
-
または:どちらかの入力が 1 の場合は 1 を返し、それ以外の場合は 0 を返します。
-
XOR: どちらかの入力が 1 の場合は 1 を返し、それ以外の場合は 0 を返します。
-
NOT: 入力が 0 の場合は 1 を返し、それ以外の場合は 1 を返します。 0.
ビット演算子の応用
-
マスキング: マスクとの AND 演算により値の特定のビットを分離します。 (例: 0000 1111 と下位 4 を抽出します) bits).
-
パッキング: 左シフトを使用して複数の値を 1 つの大きな値に結合します (例: 2 つの 4 ビット値を 8 ビットにパックする)。
-
ビット フラグ: 状態または機能を個々のビットとして表します (例: 0000) 0101 (「有効」および「処理済み」の場合)。
-
シフト: ビットを左 (>) に移動して値を操作します (例: を 2 倍にする) 1 左シフトした数値bit).
例:
次のコードを考えてみましょう:
x = 1 # 0001
x << 2 # Shift left 2 bits: 0100
# Result: 4
x | 2 # Bitwise OR: 0011
# Result: 3
x & 1 # Bitwise AND: 0001
# Result: 1
-
左シフト: × << 2 は、x のビットを 2 ビット左にシフトし、その値を効果的に 2 倍にします (1
- ビットごとの OR: x | 2 は x と 2 のビットを加算し、結果は 3 (0001 | 0010 = 0011) になります。
- ビット単位 AND: x & 1 は x の最下位ビットのみを 1 に設定し、結果は 1 で変化なし (0001 & 0001 = 0001).
ビット単位の演算を理解して適用することで、プログラマはバイナリ データを効率的に操作および解釈できるようになり、データ操作からシステム レベルの最適化まで幅広いアプリケーションのロックを解除できます。
以上が効率的なデータ操作のためにビット演算子をどのように使用できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。