ビット単位の演算を理解する
プログラミングでは、ビット単位の演算は複数ビットの値を一度に 1 ビットずつ操作します。数学的計算を実行する算術演算子とは異なり、ビット単位演算子は値内の個々のビットに焦点を当てます。
ビット単位演算子の種類
-
ビット単位 AND (&):両方の入力ビットが 1 の場合にのみ 1 を出力し、それ以外の場合は 1 を出力します。 0.
-
ビットごとの OR (|): 一方または両方の入力ビットが 1 の場合は 1 を出力し、それ以外の場合は 0 を出力します。
-
ビットごとの XOR (^): ちょうど 1 つの入力ビットが 1 の場合にのみ 1 を出力し、それ以外の場合は 1 を出力します。 0.
-
ビット単位 NOT (~): 入力ビットが 0 の場合のみ 1 を出力し、それ以外の場合は 0 を出力します。
シフト演算子
Python では、>> <<一般にビット単位の演算で使用されます。
- 左シフト (<<): 指定された位置数だけビットを左にシフトします。
- 右シフト (>>): ビットを右にシフトします。
ビットごとの演算子の実用的な使用法
-
データのフィルタリング: & を使用します。マスクを使用すると、値から特定のビットを選択的に除外することができます。
-
ビット パッキング: << を使用して、複数の小さい値を大きい値に結合します。および |.
-
フラグの操作: ステータス レジスタ内の個々のフラグのチェックと設定。
-
算術演算: ビットごとの演算子は特定の目的で使用できます。べき乗などの算術演算 (繰り返しを使用する)
例
Python コードを考えてみましょう:
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 桁左に移動すると、値は次のようになります。 4.
- ビットごとの OR (| 2): x のビットと 2 を結合し、値が 3 になります。
- ビットごとの AND (& 1): 最下位ビットかどうかを確認します。 x の は 1 であり、その結果、値は 1 になります。
以上がビット演算子はどのように機能し、プログラミングにおける実際の用途は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。