カコモンノート

問6基本情報技術者 サンプル問題(科目B)

6 / 20問
サンプル問題(科目B)

次のプログラム中の に入れる正しい答えを,解答群の中から選べ。関数 rev は 8 ビット型の引数 byte を受け取り,ビットの並びを逆にした値を返す。例えば,関数 rev を rev(01001011) として呼び出すと,戻り値は 11010010 となる。なお,演算子 ∧ はビット単位の論理積,演算子 ∨ はビット単位の論理和,演算子 >> は論理右シフト,演算子 << は論理左シフトを表す。例えば,value >> n はvalue の値を n ビットだけ右に論理シフトし,value << n は value の値を n ビットだけ左に論理シフトする。

この問題の図
問題に添えられた図。出典は下に書いています。

選択肢をえらぶと、答えと解説が出ます

選択肢をえらぶと、
ここに答えと解説が出ます
正答 1

解説

受け取った値のビットの並びを逆にして返す手続になる。繰返しの一回ごとに、元の値の末尾にある桁を一つだけ取り出し、結果の側を一つずらして空いた場所へ置く。置いたあとは元の値を一つずらし、次の繰返しで新しい末尾が現れるようにする。これを桁数の分だけ繰り返すと、末尾から取り出した順に積み上がるので、並びが反転する。

KEY POINT
ビットの並びを逆にするには、末尾の桁を取り出して反対側へ積み直す

「科目B」の他の問題

「科目B」42問をまとめて見る →

出典:基本情報技術者試験(科目B試験) サンプル問題セット(独立行政法人 情報処理推進機構(IPA))
独立行政法人情報処理推進機構(IPA)が公表している過去問題です。IPA の「過去問題の使用について」に基づき、IPA が指定する形で出典を明記して掲載しています(利用の許諾申請は不要)。問題文・選択肢の内容は変えていません。本文は IPA が公表した問題冊子の頁を人が読んで起こし、別の読み手が原本と突き合わせています。その都合で、改行・字間の空白は省き、英数字の全角・半角は元とそろえていない箇所があります。図表は IPA が公表した問題冊子のものです。解説は当サイトが独自に作成したもので、IPA とは関係ありません。