基本情報技術者 平成29年度春期午前問5

午前問5

流れ図は、シフト演算と加算の繰り返しによって、2進整数の乗算を行う手順を表したものである。この流れ図中のa、bの組合せとして、適切なものはどれか。ここで、乗数と被乗数は符号なしの16ビットで表される。X、Y、Zは32ビットのレジスタであり、けた送りは論理シフトを用いる。最下位ビットを第0ビットと記す。
『情報処理過去問.com』からiPhoneアプリがリリースされました!!

正解

解説

ア~エに以下の値をそれぞれあてはめると
・X=011(2進数)=3(10進数)
・Y=011(2進数)=3(10進数)
ア.
1.Yの第0ビットは1、(Z+X)→Z //Z=3

2.Xを1ビット左シフト //X=6

3.Yを1ビット右シフト //Y=1

4.(i+1)→i //i=1

5.Yの第0ビットは1、(Z+X)→Z //Z=9

6.Xを1ビット左シフト //X=12

7.Yを1ビット右シフト //Y=0

8.以後、Yの第0ビットはi>16になるまで0

9.加算なしでループ終了

10.Zを出力する //Z=9
イ.
1.Yの第0ビットは1、(Z+X)→Z //Z=3

2.Xを1ビット右シフト //X=1

3.Yを1ビット左シフト //Y=6

4.(i+1)→i //i=1

5.Yを左にシフトすると第0ビットに0挿入

 Yの第0ビットはi>16になるまで常に0

6.加算なしでループ終了

7.Zを出力する //Z=3
ウ.
1.Yの第15ビットは0、加算なし

2.Xを1ビット左シフト //X=6

3.Yを1ビット右シフト //Y=1

4.(i+1)→i //i=1

5.Yを右にシフトすると第15ビットに0挿入

 Yの第15ビットはi>16になるまで常に0

6.加算なしでループ終了

7.Zを出力する //Z=0
エ.
1.Yの第15ビットは0、加算はなし

2.Xを1ビット右シフト //X=1

3.Yを1ビット左シフト //Y=6

4.(i+1)→i //i=1

5.Yの第15ビットは0、加算はなし

6.Xを1ビット右シフト //X=0

7.Yを1ビット左シフト //Y=12

8.Xが0なのでZは0のままループ終了

10.Zを出力する //Z=0
スポンサーリンク







シェアする

  • このエントリーをはてなブックマークに追加

フォローする