基本情報技術者試験 2005年度 = 平成17年度・春期 午前 問3

 負数を2の補数で表す8ビットの数値がある。この値を10進数で表現すると-100である。この値を符号なしの数値として解釈すると、10進数で幾らか。

ア 28 イ 100 ウ 156 エ 228

解答



解説

 2の補数は、すべてのビットを反転(0を1にして、1を0にする)して得られる1の補数に1を加えることによって得られます。
 まず、-100のビット構成を調べます。

   ┌─┬─┬─┬─┬─┬─┬─┬─┐    │0│1│1│0│0│1│0│0│  100の2進数    └─┴─┴─┴─┴─┴─┴─┴─┘         ↓ 全ビットを反転    ┌─┬─┬─┬─┬─┬─┬─┬─┐    │1│0│0│1│1│0│1│1│    └─┴─┴─┴─┴─┴─┴─┴─┘         ↓ 1を加える    ┌─┬─┬─┬─┬─┬─┬─┬─┐    │1│0│0│1│1│1│0│0│  -100    └─┴─┴─┴─┴─┴─┴─┴─┘

 次に、2進数10011010を10進数に変換すると、正解が得られます。
   1×27 + 1×24 + 1×38 + 1×22156


BohYoh.comトップページへ