資格暗記無料で始める

シフト演算とは?

シフト演算とは、ビット列を左右にずらす演算。空いた桁に0を入れる論理シフトと、符号ビットを保ったままずらす算術シフトがあり、算術左シフト1回は2倍、算術右シフト1回は2分の1に相当する。乗除算命令より高速なため、2のべき乗倍の計算に使われる。

しふとえんざん

高度試験・午前I(全区分共通)の頻出用語/午前I(全区分共通)


シフト演算の意味

ビット列を左右にずらす演算。空いた桁に0を入れる論理シフトと、符号ビットを保ったままずらす算術シフトがあり、算術左シフト1回は2倍、算術右シフト1回は2分の1に相当する。乗除算命令より高速なため、2のべき乗倍の計算に使われる。

シフト演算の具体例

値を5倍したいときは、左に2ビットシフトした値(4倍)に元の値を加えればよい。負数を2の補数で表す環境では、−8を算術右シフトすると符号ビットが補われて−4になるが、論理右シフトでは大きな正の値になってしまう。

シフト演算は試験でどう引っ掛けられる?

算術右シフトは切捨てになるため、−1は何回右シフトしても−1のままで0にならない。左シフトでは上位ビットがあふれて消えるので、桁あふれを検出しないまま使うと値が壊れる。

シフト演算と関連する用語

最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。