基本情報技術者試験の過去問と解説
[TOP] [午前分野別] [午後分野別] [キーワード索引] [平成31年春午前] [平成31年春午後]

平成18年 春期 基本情報技術者 午前 問15
問15   シフト演算

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

 a b
ア  Y の最下位ビット X を1ビット左シフト,Y を1ビット右シフト
イ  Y の最下位ビット X を1ビット右シフト,Y を1ビット左シフト
ウ  Y の最上位ビット X を1ビット左シフト,Y を1ビット右シフト
エ  Y の最上位ビット X を1ビット右シフト,Y を1ビット左シフト


解答←クリックすると正解が表示されます

解説

例えば、X=1102、Y=1012 の場合、X × Y は、次のようになる。
  110
×101
------
  110
   0
110
------
11110
計算の手順は以下のようになる。
  1. 結果を格納するZを0にする。
  2. Yの最下位ビットが1の場合のときだけ、ZにXを加算する。
  3. Xを1ビット左シフトする。
  4. Yを1ビット右シフトする。
  5. 16回繰り返す。

[←前の問題] [次の問題→] [問題一覧表] [分野別] [キーワード索引] [基本情報技術者試験TOP ]