Python | ビット演算子の使い方
公開日:2021/5/19
Pythonでのビット演算子の使い方を以下に記す.値を2進数に変換すると理解がしやすい.
◆実施環境
Python 3.8.8
■論理積:"and"(|)
“6"と"3″の論理積を記述する.理解しやすいように各々の値の2進数も記述する.
print(bin(6)) # 0b110
print(bin(3)) # 0b011
print(6 | 3) # Ans:7 (0b111)
■実行結果
“0b110″と"0b011″の論理積は,"0b111″となり,10進数だと7になる.
0b110
0b11
7
■論理和:"or"(&)
“6"と"3″の論理和を記述する.
print(bin(6)) # 0b110
print(bin(3)) # 0b011
print(6 & 3) # Ans:2 (0b10)
■実行結果
“0b110″と"0b011″の論理和は,"0b010″となり,10進数だと2になる.
0b110
0b11
2
■排他的論理和:"xor"(^)
“6"と"3″の排他的論理和を記述する.
print(bin(6)) # 0b110
print(bin(3)) # 0b011
print(6 ^ 3) # Ans:5 (0b101)
■実行結果
“0b110″と"0b011″の排他的論理和は,"0b101″となり,10進数だと5になる.
0b110
0b11
5
■右シフト(>>)
“6"から2桁右シフトを記述する.
print(bin(6)) # 0b110
print(6 >> 2) # Ans:1 (0b01)
■実行結果
“0b110″の2桁右シフトは,"0b001″となり,10進数だと1になる.
0b110
1
■左シフト(<<)
“6"から2桁左シフトを記述する.
print(bin(6)) # 0b110
print(6 << 2) # Ans:24 (0b11000)
■実行結果
“0b110″の2桁左シフトは,"0b11000″となり,10進数だと24になる.
0b110
24
以上