Python | ビット演算子の使い方

2021年5月19日

公開日: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

以上

 

 

 

 

Python演算子

Posted by クマガイ