平成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進数

キーワードの解説
  • 2進数
    数値の表現方式で、出現する数字は0と1であり、10進数の0、1、2、3、4は2進数で0、1、10、11、100と表現できる。
    2進数のメリットは、OnとOffで表現できるため、コンピュータの中で使用しやすい。
    ただ、けた数が多くなっていまうため(10進1024が10けたになる)、人が考えるときには2進数4けたをまとめて16進数(0〜9、A〜F)で扱うことが多い。

もっと、「2進数」について調べてみよう。

戻る 一覧へ 次へ