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

分野:基礎理論(2進数・論理・集合・確率統計・情報理論・AI/機械学習の理論・オートマトン・形式言語・計算量)|実際に出題されたIPA過去問題

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

  1.  (x div 256)+(x mod 256)
  2.  (x div 256)+(x mod 256)×256
  3.  (x div 256)×256+(x mod 256)
  4.  (x div 256)×256+(x mod 256)×256
解答・解説を見る

正解:イ

AI解説

16ビットの値xについて、上位8ビットはx div 256(256で割った商)、下位8ビットはx mod 256(256で割った余り)で取り出せる。上位と下位を入れ替えると、元の下位8ビットが上位側(256倍の重み)に、元の上位8ビットが下位側(重み1)に移るので、新しい値=(x mod 256)×256+(x div 256)となる。項の順序を変えたイの式(x div 256)+(x mod 256)×256がこれと一致する。 ア: 上位・下位をそのまま加算しただけの式で、入替え後の桁の重み(256倍)が反映されていない。 イ: 正しい。元の下位ビット(x mod 256)を256倍して上位に置き、元の上位ビット(x div 256)を下位に置く式である。 ウ: (x div 256)×256+(x mod 256)は入替え前のxそのものを表す式である。 エ: 両方に256を掛けており、16ビットに収まらない誤った式である。 💡 具体値で検算すると確実。例えばx=0x0102(258)なら、div 256=1、mod 256=2で、入替え後は0x0201=513=1+2×256となり、イが成り立つ。

出典:平成23年度 秋期 応用情報技術者試験 午前 問1 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。
📱 演習アプリで解く(無料・登録不要・2,640問収録)

「基礎理論」分野の攻略ポイント

2進数・論理演算・集合・確率統計・情報理論・AI/機械学習の理論・オートマトン・形式言語・計算量が範囲です。純粋な計算問題が多く、対策の有無がそのまま得点差になります。手を動かす練習が最も効く分野です。

基礎理論の攻略ポイントをすべて見る(要点6項目・ひっかけ3項目)→

同じ分野(基礎理論(2進数・論理・集合・確率統計・情報理論・AI/機械学習の理論・オートマトン・形式言語・計算量))の過去問