基礎理論

基本情報技術者試験 科目A免除 修了試験 20220123 実施分 問1

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

出典:基本情報技術者試験 科目A免除 修了試験 20220123 実施分 問1

答えと解説を見る

正解:イ

覚える知識

2進2桁の上下ビット入替え式

8ビット分のシフトは256倍(÷256)で表し、上位と下位の入替えは (x÷256)+(x%256)×256 となる。

この問題で必要なこと

16ビット値の上位8ビットは x÷256、下位8ビットは x%256。入れ替えると下位が上位(×256)、上位が下位になる。

ひっかけ

ウは入替えにならず元の値のままで、アは重み付けがなく、エは上位側も256倍して誤る。

この知識の出題:本試験系 0 回・免除試験 3 回(公開問題での観測値)

この知識をアプリで解いて覚える レッスン「シフト演算で掛け算・割り算をする」で学ぶ

同じ知識の過去問