平成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
計算の手順は以下のようになる。
- 結果を格納するZを0にする。
- Yの最下位ビットが1の場合のときだけ、ZにXを加算する。
- Xを1ビット左シフトする。
- Yを1ビット右シフトする。
- 16回繰り返す。
|
[←前の問題]
[次の問題→]
[問題一覧表]
[分野別]
[キーワード索引]
[基本情報技術者試験TOP
]
©2004-2023
|
|
|