基本情報暗記無料で始める

次の流れ図は,シフト演算と加算の繰返しによって2進整数の乗算を行う手順を表したものである。この流れ図中のa,bの組合せとして,適切なものはどれか。ここで,乗数と被乗数は符号なしの16ビットで表される。X,Y,Zは32ビットのレジスタであり,桁送りには論理シフトを用いる。最下位ビットを第0ビットと記す。

頻出基本情報技術者試験/2017年度 春期 午前 問5/アルゴリズムとプログラミング / アルゴリズム

流れ図。開始→処理「被乗数→X,乗数→Y,0→Z,1→i」→ループ先頭→分岐(a:1,等しければ下の(Z+X)→Zへ,等しくなければ(Z+X)→Zを飛ばしてbへ合流)→処理(Z+X)→Z→処理b→処理(i+1)→i→分岐(i:16,i≦16ならループ先頭へ戻る,i>16ならZを出力して終了)。設問のa,bには表に示す4通りの組合せが入る。
流れ図。開始→処理「被乗数→X,乗数→Y,0→Z,1→i」→ループ先頭→分岐(a:1,等しければ下の(Z+X)→Zへ,等しくなければ(Z+X)→Zを飛ばしてbへ合流)→処理(Z+X)→Z→処理b→処理(i+1)→i→分岐(i:16,i≦16ならループ先頭へ戻る,i>16ならZを出力して終了)。設問のa,bには表に示す4通りの組合せが入る。

選択肢

正解と解説

正解:ア a: Yの第0ビット/b: Xを1ビット左シフト,Yを1ビット右シフト

筆算による2進乗算と同じ考え方で、乗数Yの下位ビットから順に見て、その位が1なら被乗数Xを部分積Zに加えます。判定するのは毎回Yの最下位である第0ビットなので、1回のループごとにYを右へ1ビットずらして次の位を最下位に持ってきます。同時に、桁が1つ上がった重みに合わせるためXは左へ1ビットずらします。

この問題を解く(同じ分野をあと9問) →

選択肢ごとの解説

出典:平成29年度 春期 基本情報技術者試験 午前 問5(IPA)原本の紙面を見る(IPA 問題冊子より)

この問題に出た用語

同じ分野の他の問題

最終更新:2026-10-06/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。