数の表現法について、次の(a)及び(b)に答えよ。
8 ビットの固定長で、正負のある2進法の数値を表現する場合、次のような①及び②で示す方式がある。また、D-Aコンバータにおいては次の③で示す方式が用いられる。
① 最上位ビット (MSB) を符号ビットとして、残りのビットでその数の絶対値を表す方式は、絶対値表示方式と呼ばれる。この場合、MSB=0が正(+)、MSB=1が負(-)と約束すると、10進数の -8 は (ア) となる。
② 7ビット長で表された正の数 \(n\) に対して、\(-n\) を8ビット長の \(n\) の2の補数で表す方式がある。この方式による場合、10進数の -8 は (イ) となる。
③ D-A コンバータでは、ディジタル入力量とアナログ出力量が比例の関係にある。8ビットの D-A コンバータではディジタル入力量として \((10000000)_2\) を与えた場合に、0.0000 [V] が出力されるようにしたオフセット・バイナリ・コードを用いることが多い。この場合、出力電圧が正のときは MSB=1 となり、負のときは MSB=0 となる。
ディジタル入力値が \((00000000)_2\) のときのアナログ出力値が -5.0000 [V] であるオフセット・バイナリ・コードの D-A コンバータでは、ディジタル入力値が \((01111000)_2\) のときの出力電圧値は (ウ) [V] となる。
回答を選ぶ
選択肢を押すと、すぐに結果が表示されます。
要点
正解は(3)。よって、組み合わせは (ア) 10001000、(イ) 11111000、(ウ) -0.3125 となり、(b)の正解は選択肢(3)です。
詳細解説
正解は(3)です。
2進数表現
・(ア) 絶対値表示の -8:
\(+8\) は \(00001000\)。負号は MSB=1 なので、10001000。
・(イ) 2の補数の -8:
\(+8\) (\(00001000\)) のビット反転 \(\to\) \(11110111\)。
これに 1 を加える \(\to\) 11111000。
・(ウ) D-Aコンバータ出力:
入力 \((00000000)_2 = 0\) のとき -5 V。
入力 \((10000000)_2 = 128\) のとき 0 V。
入力 \((11111111)_2 = 255\) のとき +5 V 近辺。
1ステップあたりの電圧は \(5 / 128\) V です。
入力 \((01111000)_2 = 64 + 32 + 16 + 8 = 120\)。
基準の 128 (0V) からの差分は \(120 - 128 = -8\) ステップ。
出力電圧 \(V = -8 \times (5 / 128) = -40 / 128 = -0.3125\) V。
あるいは比例計算で:\(V = \dfrac{120}{128} \times 5 - 5 = 4.6875 - 5 = -0.3125\) V。
よって、組み合わせは (ア) 10001000、(イ) 11111000、(ウ) -0.3125 となり、(b)の正解は選択肢(3)です。