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
(イ)になる。