シフトレジスタとは?
シフトレジスタとは、フリップフロップを直列につなぎ、クロックのたびに保持している内容を隣へ1ビットずつ送る順序回路。直列で入ってくるデータを並列に取り出す、あるいは並列のデータを直列に送り出すといった、形式の変換にも使われる。
基本情報技術者試験の過去問では1回出題されています。
しふとれじすた
シフトレジスタの意味
フリップフロップを直列につなぎ、クロックのたびに保持している内容を隣へ1ビットずつ送る順序回路。直列で入ってくるデータを並列に取り出す、あるいは並列のデータを直列に送り出すといった、形式の変換にも使われる。
シフトレジスタの具体例
8個の段からなるシフトレジスタに、通信線から届く0と1をクロックごとに1ビットずつ取り込み、8回で1バイトぶんが並ぶ。そこから8本の線でまとめて読み出せば、直列の通信データを並列のバスへ渡す変換が実現できる。
シフトレジスタは試験でどう引っ掛けられる?
論理演算のシフト演算と混同されやすいが、こちらは演算ではなく記憶素子の並びという回路そのものを指す。ただし左シフトが2倍、右シフトが2分の1に対応する点は同じ考え方で説明できる。
シフトレジスタと関連する用語
シフトレジスタが出た過去問
クロックの立上りエッジで、8ビットのシリアル入力パラレル出力シフトレジスタの内容を上位方向へシフトすると同時に正論理のデータをレジスタの最下位ビットに取り込む。…
正解:8D
要点:上位シフトのシフトレジスタは、先に入った値ほど上位桁になる
シリアル入力パラレル出力のシフトレジスタは、クロックの立上りごとに全ビットを上位へ1つずらし、空いた最下位ビットへその時点のデータ線の値を取り込む。したがって最初に取り込んだビットが8回のシフトで最上位まで押し上げられ、波形を時間順に読んだビット列がそのまま上位から下位への並びになる。この波形では取り込まれる順が1、0、0、0、1、1、0、1となるので、確定値は2進で10001101、16進では8Dである。
出典:令和1年度 秋期 基本情報技術者試験 午前 問21(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。