必ず受かる情報処理技術者試験

当サイトは、情報処理技術者試験に合格するためのWebサイトです。
ITパスポート試験,基本情報技術者,応用情報技術者,高度試験の過去問題と解答及び詳細な解説を掲載しています。
  1. トップページ
  2. 基本情報技術者
  3. 平成18年度春季問題一覧
  4. 平成18年度春季問題15-解答・解説-分析

平成18年度春季問題

問題15

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

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

解答:ア

<解説>

2進数の乗算は,シフト演算と加算を繰り返すことで行われる。

  1. 2進数は左に1ビットシフトすることで2倍の大きさになる。
  2. 2倍にした数に元の数を加えることで3倍の大きさにすることができる。

したがって、

  a: 乗数の下位の1ビットの値が0の場合は,被乗数の値を左に1ビットシフトし,次の値に進む。
  b: 乗数の下位の1ビットが1の場合は,被乗数の値を足して,元の被乗数の値を左に1ビットシフトし,次の値に進む。

となる。よってアが正解である。