平成23年度秋期 問1 / 80

平成23年度 秋期 応用情報技術者試験 午前 問1

xは,0以上65,536未満の整数である。xを16ビットの2進数で表現して上位8ビットと下位8ビットを入れ替える。得られたビット列を2進数とみなしたとき,その値をxを用いた式で表したものはどれか。ここで,a div bはaをbで割った商の整数部分を,a mod bはaをbで割った余りを表す。また,式の中の数値は10進法で表している。

キーボード:1〜4 で解答 → 次の問題 ← 前の問題

正解と解説を見る

正解:イ

16ビットのxを上位8ビットと下位8ビットに分けると,次のようになります。
- 上位8ビットの値:x div 256(256=2⁸で割った商)
- 下位8ビットの値:x mod 256(256で割った余り)

入れ替えた後は,元の上位8ビットが下位8ビットに,元の下位8ビットが上位8ビットに来ます。上位8ビットに置く値は256倍(8ビット左シフト)するので,求める値は
(x div 256)+(x mod 256)×256
となります。

  • ア: (x div 256)+(x mod 256)
    誤り。元の下位8ビットを256倍していないため,上位8ビットに移動していません。

  • イ: (x div 256)+(x mod 256)×256
    正しい。元の上位8ビットを下位に,元の下位8ビットを256倍して上位に置いた値です。

  • ウ: (x div 256)×256+(x mod 256)
    誤り。x div 256 に256を掛けると元の上位8ビットの位置に戻るだけで,この式の値はx自身になります。

  • エ: (x div 256)×256+(x mod 256)×256
    誤り。どちらの部分も256倍しており,入れ替えにはなりません。


答え

イ: (x div 256)+(x mod 256)×256

出典:平成23年度 秋期 応用情報技術者試験 午前 問1

平成23年度秋期の他の問題