第三種電気主任技術者(電験三種) 過去問
令和6年度(2024年)上期
問64 (機械 問18(b))
問題文
8ビットの固定長で、正負のある2進法の数値を表現する場合、次のような①及び②で示す方式がある。また、D−Aコンバータにおいては次の③で示す方式が用いられる。
① 最上位ビット(左端のビット、以下MSBという)を符号ビットとして、残りのビットでその数の絶対値を表す方式は、絶対値表示方式と呼ばれる。この場合、MSB=0が正(+),MSB=1が負(-)と約束すると、10進数の-8は( ア )となる。
② 7ビット長で表された正の数nに対して、-nを8ビット長のnの2の補数で表す方式がある。この方式による場合、10進数の-8は( イ )となる。この方式においても、MSB=1は負の整数、MSB=0は正の整数を示すことになる。この方式は、2進数の減算に適している。
③ D−Aコンバータでは、ディジタル入力量とアナログ出力量が比例の関係にある。8ビットのD−Aコンバータではディジタル入力量として、(1000 0000)2を与えた場合に、0.0000Vが出力されるようにしたオフセット・バイナリ・コードを用いることが多い。この場合、出力電圧が正のときは、MSB=1となり、負のときは、MSB=0となる。
ディジタル入力値が(0000 0000)2のときのアナログ出力値が-5.0000Vであるオフセット・バイナリ・コードのD−Aコンバータでは、ディジタル入力値が(0111 1000)2のときの出力電圧値は( ウ )Vとなる。
上記の記述中の空白箇所(ア)~(ウ)に当てはまる組合せとして、正しいものを次のうちから一つ選べ。
このページは閲覧用ページです。
履歴を残すには、 「新しく出題する(ここをクリック)」 をご利用ください。
問題
第三種電気主任技術者(電験三種)試験 令和6年度(2024年)上期 問64(機械 問18(b)) (訂正依頼・報告はこちら)
8ビットの固定長で、正負のある2進法の数値を表現する場合、次のような①及び②で示す方式がある。また、D−Aコンバータにおいては次の③で示す方式が用いられる。
① 最上位ビット(左端のビット、以下MSBという)を符号ビットとして、残りのビットでその数の絶対値を表す方式は、絶対値表示方式と呼ばれる。この場合、MSB=0が正(+),MSB=1が負(-)と約束すると、10進数の-8は( ア )となる。
② 7ビット長で表された正の数nに対して、-nを8ビット長のnの2の補数で表す方式がある。この方式による場合、10進数の-8は( イ )となる。この方式においても、MSB=1は負の整数、MSB=0は正の整数を示すことになる。この方式は、2進数の減算に適している。
③ D−Aコンバータでは、ディジタル入力量とアナログ出力量が比例の関係にある。8ビットのD−Aコンバータではディジタル入力量として、(1000 0000)2を与えた場合に、0.0000Vが出力されるようにしたオフセット・バイナリ・コードを用いることが多い。この場合、出力電圧が正のときは、MSB=1となり、負のときは、MSB=0となる。
ディジタル入力値が(0000 0000)2のときのアナログ出力値が-5.0000Vであるオフセット・バイナリ・コードのD−Aコンバータでは、ディジタル入力値が(0111 1000)2のときの出力電圧値は( ウ )Vとなる。
上記の記述中の空白箇所(ア)~(ウ)に当てはまる組合せとして、正しいものを次のうちから一つ選べ。
- ア:(1000 1000)2 イ:(1000 0111)2 ウ:-0.2734
- ア:(1111 1000)2 イ:(1000 1000)2 ウ:-0.3125
- ア:(1111 1000)2 イ:(1000 0111)2 ウ:-0.3125
- ア:(1000 1000)2 イ:(1111 1000)2 ウ:-0.3125
- ア:(1000 1000)2 イ:(1111 1000)2 ウ:-0.2734
正解!素晴らしいです
残念...
この過去問の解説 (2件)
01
問題文の整理をします。
与えられた条件:
絶対値表示方式で10進数 −8を表現する。
2の補数方式で10進数 −8を表現する。
オフセット・バイナリ・コードでデジタル値 (0111 1000)2 に対応するアナログ出力を計算する。
(ア):絶対値表示方式
絶対値表示方式では、次のルールに従います。
MSB(最上位ビット)は符号ビット(MSB = 0:正、MSB = 1:負)。
残りのビットで絶対値を表現します。
10進数 −8の絶対値は 8 です。これを 7 ビットで表現すると 000 1000 です。
MSB に 1を加えると、(ア)=1000 1000
(イ):2の補数表示方式
2の補数表示方式では、負の数を以下の手順で表現します。
絶対値を2進数で表現します。
ビットを反転(1を0に、0を1に変える)します。
反転後の値に1を加えます。
絶対値 8を 7 ビットで表すと 000 1000です。
ビット反転:111 0111
1を加算:1111 1000
(イ)=1111 1000
(ウ):オフセット・バイナリ・コード
オフセット・バイナリ・コードでは、次の条件があります。
(1000 0000)2のアナログ出力は 0.0000 V
(0000 0000)2 のアナログ出力は −5.0000 V
(1111 1111)2のアナログ出力は +5.0000 V
デジタル入力値 (0111 1000)2 を 10 進数に変換すると 120です。
アナログ出力の計算
アナログ出力 Vは次の式で求められます。
V=(デジタル値–128)/128・5.0000
V=(120–128)/128・5.0000=–8/128・5.0000
V=–0.3125V
よって、正しい組み合わせは: ④ア:(1000 1000)2 イ:(1111 1000)2 ウ:-0.3125 です。
この選択肢は誤りです。
この選択肢は誤りです。
この選択肢は誤りです。
この選択肢は正しいです。
この選択肢は誤りです。
絶対値表示方式では、符号ビットと絶対値を組み合わせて負の数を表現します。
2の補数表示方式では、ビット反転と1の加算を正確に行うことが重要です。
オフセット・バイナリ・コードでは、基準値を使った比例計算でアナログ出力を求めます。
参考になった数5
この解説の修正を提案する
02
この問題は、正負の数を2進数で表現する方法に関するものです。
空白箇所(ア)〜(ウ)に当てはまる組合せは以下のとおりです。
ア:(1000 1000)2 イ:(1111 1000)2 ウ:-0.3125
(ア)絶対値表示方式では、MSBが符号ビットで残りの7ビットが絶対値を表しています。
10進数の-8を8ビットで表す場合、
符号ビット:1(1は負を表す)
8=1 x 23 + 0 x 22 + 0 x 21 x + 0 x 20であるから、
8を2進数で表すと、1000です。
これを7ビットで表すと、「000 1000」
よって、(1000 1000)2
(イ)2の補数で表す方式では、正の数のビット反転に1を加えることによって、負の数を表します。
(ア)より、10進数の8を7ビットで表すと000 1000であるので、
ビット反転: 111 0111
これに1を加える: 111 0111 + 1=111 1000
よって、-8を8ビットの補数で表すと、(1111 1000)2
(ウ)オフセット・バイナリ・コードでは、問題文より(1000 0000)2が0.0000Vに対応しています。
まず、これが何を意味しているかについて説明します。
8ビットのディジタル入力は、28=256通りの値を表現できます。
8ビットのディジタル値は、(0000 0000)2から(1111 1111)2まであります。
これを10進数で表すと、0から255までの範囲になります。
(1000 0000)2は10進数では27=128であり、これは0から255までの中央の値に該当します。
問題文では、ディジタル入力値が(0000 0000)2のときのアナログ出力値が-5.0000Vであると述べられています。
よって、(0000 0000)2から(1111 1111)2は、-5.0000Vから+5.0000 Vの範囲になります。
ディジタル入力値(0111 1000)2を10進数に変換すると、
(0111 1000)2=0 x 27 + 1 x 26 + 1 x 25 + 1 x 24 + 1 x 23 + 0 x 22 + 0 x 21 x + 0 x 20=120
(0111 1000)2は、(0000 0000)2よりも120ー128=8小さい値です。
全電圧の範囲は+5.0000[V]ー(ー5.0000[V])=10[V]であるので、D-Aコンバータの分解能は10/256です。
よって、ディジタル入力値が(0111 1000)2のときの出力電圧値は、
(120ー128) x 10/256=ー3.125
問題文から正負の数を2進数で表す方式を正確に読み取ることが重要です。
これらの方式の特徴と用途を確認しておきましょう。
参考になった数0
この解説の修正を提案する
前の問題(問63)へ
令和6年度(2024年)上期 問題一覧
次の問題(問65)へ