シフト演算とは?しふとえんざん
シフト演算とは、ビット列全体を左または右にずらす演算。論理シフトは空いた桁を0で埋め、算術シフトは符号ビットを維持しながらシフトする。左シフトはおおむね2倍、右シフトはおおむね1/2倍の効果を持つ。
最終更新:2026-10-09
この語が出る過去問を解く →具体例
8ビットの「00000011」(3)を左に2ビット論理シフトすると「00001100」(12)になり、3×2²=12に一致する。負数の算術右シフトでは符号ビット(最上位ビット)が保持されたままシフトされる。
試験での引っ掛け
論理シフトと算術シフトの違い(空いたビットを0で埋めるか、符号ビットで埋めるか)を負数の場合で問われやすい。
関連用語
出た過去問
出典:平成29年度 春期 基本情報技術者試験 午前 問5(IPA)
次の流れ図は,シフト演算と加算の繰返しによって2進整数の乗算を行う手順を表したものである。この流れ図中のa,bの組合せとして,適切なものはどれか。ここで,乗数と…
正解:a: Yの第0ビット/b: Xを1ビット左シフト,Yを1ビット右シフト
要点:シフト乗算は乗数の最下位を見てXを左・Yを右へずらす
筆算による2進乗算と同じ考え方で、乗数Yの下位ビットから順に見て、その位が1なら被乗数Xを部分積Zに加えます。判定するのは毎回Yの最下位である第0ビットなので、1回のループごとにYを右へ1ビットずらして次の位を最下位に持ってきます。同時に、桁が1つ上がった重みに合わせるためXは左へ1ビットずらします。
出典・参考
公式シラバスの1 基礎理論 > 1. 離散数学 > (3) 算術演算と精度に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。