ビットシフト

作成日
更新日

ビットシフトとは、数値の2進数表現(ビット列)を左右にずらす操作のこと。
コンピュータの処理において非常に高速で、効率的に計算やフラグ操作ができる。

左シフトと右シフトの違い

操作 書き方 効果 例(10進数)
左シフト x << n x を 2ⁿ 倍する 1 << 3 → 8
右シフト x >> n x を 2ⁿ で割る(整数除算) 8 >> 3 → 1
print(1 << 4)  # 16 → 2⁴
print(16 >> 2) # 4 → 16 ÷ 2²
  • << は 2 のべき乗を計算する簡単な方法

4 << 6 左シフト

# 4を二進数にする
4 = 00000100(8ビット表記)
# ビットを左に6個ずらす
10000000 000000(末尾に0が6個付く)
# 10進数での計算結果
4 × 2⁶ = 4 × 64 = 256

4 >> 6 右シフト

# 4を二進数にする
4 = 00000100(8ビット表記)
# ビットを右に6個ずらす
00000000
# 10進数での計算結果 ※ 小数は切り捨てになるので 0
4 ÷ 2⁶ = 4 ÷ 64 = 0(整数除算)

関連

サイトアイコン
公開日
更新日