平成19年 秋期 ソフトウェア開発技術者 午前 問1

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

 ア  (x div 256)+(x mod 256)
 イ  (x div 256)+(x mod 256)×256
 ウ  (x div 256)×256+(x mod 256)
 エ  (x div 256)×256+(x mod 256)×256


答え イ


解説
2進数で8ビットは28なので、256になる。
x の上位8ビットは、x div 256で求めることができる。
また、x の下位8ビットは、x mod 256で求めることができる。
問題は、上位8ビットと下位8ビットを入れ替えるので、下位8ビットを8ビット分左シフト(SHIFT)させて、上位8ビットを加えればよく、8ビットの左シフトは256倍することなので、
 (x div 256)+(x mod 256)×256
(イ)になる。


キーワード
・2進数

キーワードの解説

戻る 一覧へ 次へ