最近,流行の脳内メーカー。
本名では,漢字や平仮名とかなりやり倒したので,
今度は「ひじき」の脳内をメイキングしてみました。
見事に欲だらけ!!
…ちなみに,本名も欲だらけでした(汗)
————— キリトリセン 8X —————
で,肝心の試験勉強。
昨日のブログで書いたとおり,週末で
テキストの第 1 章が終わったので,問題集を使って,
同じ範囲の問題にチャレンジ!
ちょこちょこと,
ひっかかった問題を載せていこうと思います!
[問題]
符号部 1 ビット,整数部 4 ビット,小数部 3 ビット,2 の補数表現で負数を表す。
表現できる負の最大値(負で,絶対値が最小の数)はどれか。
(ア) -16.125 (イ) -16 (ウ) -15.875 (エ) -0.125
考え方は,以下のとおり。
まず,符号部と整数部と小数部のビットを足すと
1 + 4 + 3 = 8 (ビット)
つまり,8 ビットで表現できる最大の負数が何であるかを
考えればいい…ということになります。
ここで,2 進数(整数)で表せる最大の負数は,-1 です。
これを 2 の補数表現で表す場合は,1 は 00000001 なので,
00000001 ―(ビットを反転)→ 11111110 ―(1 を足す)→ 11111111
となります。
これは符号部(赤色)や整数部(青色)や
小数部(緑色)について考える場合でも,同じです。
2 の補数表現を 10 進数に直して,それにマイナスをつければ,
元の 2 進数の負数が何なのかが分かります。
00000.001 ←(ビットを反転)― 11111.110 ←(1 を引く)― 11111.111
では,00000.001 を 10 進数で表すとどうなるかというと,
小数点以下に注目して…
0 * 0.5 + 0 * 0.25 + 1 * 0.125 = 0.125
※ 2 進数の小数第 1 位 = 0.5 (2 の -1 乗)
2 進数の小数第 2 位 = 0.25 (2 の -2 乗)
2 真数の小数第 3 位 = 0.125 (2 の -3 乗)
となります。
そして,これにマイナスをつけると -0.125 となるので,
答えは (エ) になります。
この問題では,またもや問題をよく読まずに,小数部などを無視して,
負の最大の数は -1 に決まってる…と思い込んじゃってました。
選択肢に答えがない!!
…ってなったのは言うまでもありません(汗)