基本情報技術者試験 2004年度 = 平成16年度・秋期 午前 問3

 16進小数0.FEDCを4倍した値はどれか。

ア 1.FDB8 イ 2.FB78 ウ 3.FB70 エ F.EDC0

解答



解説

 10進数の11すなわち(1011)2を1ビット左にシフト(けた移動)すると、以下に示すように、値は2倍になります。

   ┌─┬─┬─┬─┬─┬─┬─┬─┐    │0│0│0│0│1│0│1│1│  11    └─┴─┴─┴─┴─┴─┴─┴─┘         ↓ 1ビット左に桁移動    ┌─┬─┬─┬─┬─┬─┬─┬─┐    │0│0│0│1│0│1│1│0│  22    └─┴─┴─┴─┴─┴─┴─┴─┘

 2進数の値を左に1けた移動すると値が2倍になるのは、10進数の値を左に1けた移動すると値が10倍になるのとまったく同じ理由によります。
 本問は4倍ですので、左に2ビットだけシフトすればよいことになります。
 与えられている数値は16進数ですが、16進数の1けたは2進数の4けたに対応していますので、いったん2進数に変換して、再び16進数に戻して計算します。
   0  . F  E  D  C
         ↓        16進数→2進数へ基数変換
  0000 . 1111 1110 1101 1100
         ↓        左へ2ビットシフト(4倍する)
  0011 . 1111 1011 0111 0000
         ↓        2進数→16進数へ基数変換
   3 . F  B  7  0
 なお選択肢の1桁目の値はすべて異なっていますので、0.Fだけに着目しても答えが得られます。
   0  . F  ?
         ↓        16進数→2進数へ基数変換
  0000 . 1111 ????
         ↓        左へ2ビットシフト(4倍する)
  0011 . 11?? ????
         ↓        2進数→16進数へ基数変換
   3 . ?  ?

BohYoh.comトップページへ