▶️ information

bitwise operators

biteise Python
biteise
~a            # ビット反転
a & b         # AND:論理積(aもbも1のビットが1)
a | b         # OR:論理和(aまたはbが1のビットが1)
a ^ b         # XOR:排他的論理和(aまたはbが1のビットが1)
a <<b        
# b ビット左シフト
a >>b        
# b ビット右シフト

はじめに簡単なまとめ
ビット反転 (~a): 0を1に、1を0に変える。
AND (a & b): 両方とも1のビットが1になる。
OR (a | b): どちらか一方でも1のビットが1になる。
XOR (a ^ b): どちらか一方が1のビットが1になりますが、両方1のビットは0になる。
左シフト (a << b): 数字を2倍にする。
右シフト (a >> b): 数字を半分にする。

ビット演算子

ビット演算は、コンピュータが数字を二進数(0と1の組み合わせ)として扱う方法。

その0と1の組み合わせを操作する方法。

1. ビット反転 (~a)

これは、0を1に、1を0に変える操作。

  • 例: aが 1010(10進数で10)の場合、~a は 0101(10進数で5)になる。

2. AND演算 (a & b)

これは、二つの数字のビットが両方とも1の場合だけ1になる。

  • 例: a が 1010(10)で、b が 1100(12)の場合、
    • a & b は 1000(8)になる。

3. OR演算 (a | b)

これは、二つの数字のビットのどちらか一方でも1なら1になる。

  • 例: a が 1010(10)で、b が 1100(12)の場合、
    • a | b は 1110(14)になる。

4. XOR演算 (a ^ b)

これは、二つの数字のビットのどちらか一方が1なら1になりますが、両方が1の場合は0になる。

  • 例: a が 1010(10)で、b が 1100(12)の場合、
    • a ^ b は 0110(6)になる。

5. 左シフト (a << b)

これは、数字のビットを左に動かし、右側に0を追加します。数字を2倍にする操作。

  • 例: a が 1010(10)の場合、a << 1 は 10100(20)になる。
    • a << 2 なら 101000(40)になる。

6. 右シフト (a >> b)

これは、数字のビットを右に動かし、左側に0を追加します。数字を半分にする操作。

  • 例: a が 1010(10)の場合、a >> 1 は 0101(5)になる。
    • a >> 2 なら 0010(2)になる。

まとめ

  • ビット反転 (~a): 0を1に、1を0に変える。
  • AND (a & b): 両方とも1のビットが1になる。
  • OR (a | b): どちらか一方でも1のビットが1になる。
  • XOR (a ^ b): どちらか一方が1のビットが1になりますが、両方1のビットは0になる。
  • 左シフト (a << b): 数字を2倍にする。
  • 右シフト (a >> b): 数字を半分にする。

タイトルとURLをコピーしました