問題文
数の表現法について、次の(a)及び(b)の問に答えよ。
8ビットの固定長で、正負のある2進法の数値を表現する場合、次のような①及び②で示す方式がある。また、D-Aコンバータにおいては次の③で示す方式が用いられる。
① 最上位ビット(MSB)を符号ビットとして、残りのビットでその数の絶対値を表す方式は、絶対値表示方式と呼ばれる。この場合、MSB=0 が正(+)、MSB=1 が負(-)と約束すると、10進数の -8 は (ア) となる。
② 7ビット長で表された正の数 \(n\) に対して、\(-n\) を8ビット長の \(n\) の2の補数で表す方式がある。この方式による場合、10進数の -8 は (イ) となる。
③ 8ビットのD-Aコンバータではディジタル入力量として (10000000)\(_2\) を与えた場合に 0.0000V が出力されるようにしたオフセット・バイナリ・コードを用いることが多い。この場合、出力電圧が正のときは MSB=1 となり、負のときは MSB=0 となる。
ディジタル入力値が (00000000)\(_2\) のときのアナログ出力値が -5.0000V であるオフセット・バイナリ・コードのD-Aコンバータでは、ディジタル入力値が (01111000)\(_2\) のときの出力電圧値は (ウ) Vとなる。
選択肢
(ア) 絶対値表示の -8:8は2進数で `00001000`。MSBを1にして `10001000`。
(イ) 2の補数の -8:8 (`00001000`) のビット反転 `11110111` に 1 を加える \(\rightarrow\) `11111000`。
(ウ) オフセットバイナリ:
入力 `00000000` (0) \(\rightarrow\) -5.0V
入力 `10000000` (128) \(\rightarrow\) 0.0V
1ステップあたりの電圧変化は \(5.0 / 128\) [V]。
入力 `01111000` は10進数で \(64+32+16+8 = 120\)。
出力電圧 \(V = -5.0 + 120 \times (5.0 / 128) = -5.0 + 4.6875 = -0.3125\) [V]。
(または基準0Vからの差分:\(120 - 128 = -8\) ステップ。\(-8 \times 5/128 = -0.3125\) V)