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

問題15

ポケットスタディ 基本情報午後・要点整理―即効!7つの知識 (情報処理技術者試験)

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

解答・解説を見る

解答:ア

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

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

したがって、

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

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

前の問題 次の問題

Copyrithg naruha