基礎理論
基本情報技術者試験 科目A免除 修了試験 20171210 実施分 問2
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免除 修了試験 20171210 実施分 問2
答えと解説を見る
正解:イ
覚える知識
左シフトによる2のべき乗倍と加算
16ビット値の上位8ビットはx÷256、下位8ビットはx%256であり、8ビット左シフトは256倍である。
この問題で必要なこと
上位8ビットはx÷256、下位8ビットはx%256。入れ替え後は下位8ビットを256倍して上位に置き、元の上位を下位に置く。
ひっかけ
ウはxそのものに戻り入替えにならない。エは上位側も256倍しておりオーバーフローする。アは単純な和で桁位置が考慮されない。
この知識の出題:本試験系 4 回・免除試験 12 回(公開問題での観測値)