![シフト演算と加算による乗算アルゴリズムの流れ図。被乗数→X, 乗数→Y, 0→Z, 1→i で初期化。判定 [a]:1 が = ならZ←Z+X 実行、その後 [b] のシフト操作、i←i+1、i:16 で ≤ ならループ、>でZを出力](https://r2.goukaku.dev/figures/fe-2017h29h-a/fe-2017h29h-a-Q05/page.png)
基本情報技術者試験 平成29年度 春期 午前 問5「次の流れ図は,シフト演算と加算の繰返しによって 2 進整数の乗算を行う手順を表し…」の正解と解説です。基本情報技術者試験の「CPU」分野の過去問で、これまでの受験者の正答率は約73%です。
ア. a=Y の第 0 ビット, b=X を 1 ビット左シフト, Y を 1 ビット右シフト
正答率 72.7%(1,108人中 806人が正解)
16 ビットの被乗数 Y を最下位ビット (第 0 ビット) から検査し、1 なら Z に X を加算。次のビット検査のため X を左シフト (位取りを上げる)、Y を右シフト (最下位を破棄して次のビットを露出)。アが正解。