シフト演算
意味・解説
2進数のビット列を左右にずらす操作。掛け算や割り算を高速に行うために用いられる。
左に$n$ビットずらすと値は$2^n$倍になり、右に$n$ビットずらすと$1/2^n$倍になる。符号を考慮しない「論理シフト」と、符号ビットを固定する「算術シフト」がある。
くわしく
コンピュータ特有の「桁ずらし計算」です。
1.左シフト:
例えば「0011(3)」を左に1ビットずらすと「0110(6)」になり、2倍になります。
2.右シフト:
逆に右にずらすと半分になります。
3.算術シフト:
一番左の「符号ビット(0はプラス、1はマイナス)」を動かさずに、数値部分だけをずらします。ポイントは、CPU(中央演算処理装置)にとって掛け算命令は重い処理ですが、シフト演算は電気回路で一瞬で行えるため、プログファイルラムの高速化に直結するからです。
例文
画像処理の計算を高速化するため、2倍の乗算を行う代わりに、1ビットの左シフト演算を使用した。
同義語: ビットシフト
分類: 数値計算