▶️ information

bitwise operators

biteise Python
biteise
~a            ビット反転
b         AND:論理積(aもbも1のビットが1)
b         OR:論理和(aまたはbが1のビットが1)
b         XOR:排他的論理和(aまたはbが1のビットが1)
<<b        
b ビット左シフト
>>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に変える操作。

  • 例: a1010(10進数で10)の場合、~a0101(10進数で5)になる。

2. AND演算 (a & b)

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

  • 例: a1010(10)で、b1100(12)の場合、
    • a & b1000(8)になる。

3. OR演算 (a | b)

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

  • 例: a1010(10)で、b1100(12)の場合、
    • a | b1110(14)になる。

4. XOR演算 (a ^ b)

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

  • 例: a1010(10)で、b1100(12)の場合、
    • a ^ b0110(6)になる。

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

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

  • 例: a1010(10)の場合、a << 110100(20)になる。
    • a << 2 なら 101000(40)になる。

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

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

  • 例: a1010(10)の場合、a >> 10101(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をコピーしました