今回は令和6年度上期 機械科目 B問題18を解説します。r進法で表された数の方程式からrの値を求める(a)と、8ビット固定長の絶対値表示方式・2の補数表示、そしてD-Aコンバータのオフセット・バイナリ・コードの出力電圧を求める(b)の2段構成の問題です。★情報28(平成22年度B問題18)と設問文・図・選択肢の数値がすべて同一で、実質的に同じ問題の再出題です。
(a)はr進法の位取り展開を10進の等式にしてrについての2次方程式を解きます。(b)は絶対値表示方式・2の補数表示それぞれの符号ビットの扱いと、D-Aコンバータの直線式Vd=(分解能)×d-オフセットを使って計算します。
ほぼ同じ問題が 【機械】平成22年度B問題18 でも出題されています。出題パターンが固定なので、セットで解けば確実な得点源になります。
令和6年度上期 機械科目 B問題18:問題文と選択肢
まずは、実際の試験問題を確認してみましょう。

出典:一般財団法人 電気技術者試験センター「令和6年度上期 第三種電気主任技術者試験」機械科目 B問題18
電験3種 機械科目 【情報】 令和6年度上期 B問題18
数の表現法について,次の(a)及び(b)の問に答えよ。
(a) 10進法で表される正の整数Nは,10進法の2以上の整数rを用いて,次式のように表すことができる。N = anrn + an-1rn-1 + … + a1r + a0 ただし,aiは整数であり,0≦ai<r(i=0,1,…,n)である。このとき,Nをr進法で次のように表現することとする。(anan-1…a2a1a0)r この表現方法によって次の計算が成り立つとき,rの値として,正しいものを次の(1)〜(5)のうちから一つ選べ。(122)r-(42)r=(40)r
(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となる。
上記の記述中の空白箇所(ア)〜(ウ)に当てはまる組合せとして,正しいものを次の(1)〜(5)のうちから一つ選べ。
(1)5 (2)6 (3)7 (4)8 (5)9
(ア) (イ) (ウ) (1) (1000 1000)2 (1000 0111)2 -0.2734 (2) (1111 1000)2 (1000 1000)2 -0.3125 (3) (1111 1000)2 (1000 0111)2 -0.3125 (4) (1000 1000)2 (1111 1000)2 -0.3125 (5) (1000 1000)2 (1111 1000)2 -0.2734
出題のポイント:3つの独立した処理に切り分ける
一見すると盛りだくさんですが、中身は3つの別々の計算——混ぜずに順番に片付ければ難しくありません。
| 設問 | 問われていること | 使う道具 |
| (a) | r進法の方程式 | 位取り展開+2次方程式 |
| (b)①② | −8 の2通りの表し方 | 符号ビットと2の補数 |
| (b)③ | D-A変換の出力電圧 | 1次関数(直線式) |
(a) 位取り記数法の意味
私たちが普段使う10進法は、10 の累乗で位が上がる——これを一般の r で行うのがr進法です。
10進の等式になる
★r≧2 の整数
r=0 は「2以上の整数」という条件に反するので除外——答えは r=6 です。
検算もしておきましょう——6進法で (122)=36+12+2=50、(42)=24+2=26、(40)=24。50−26=24 で確かに成り立ちます。

(b) 符号付き2進数とD-A変換
MSB を1 に
反転して+1
2の補数は「反転して+1」——0000 1000 を反転すると1111 0111、+1 で1111 1000 です。
D-Aコンバータの直線式を立てる
与えられた条件は2点だけ——2点が分かれば直線は1本に決まります。
1段あたりの電圧
切片は d=0 のときの値
64+32+16+8
★−0.3125 V
傾き 5/128 は「1段あたり何V か」——これを分解能といいます。約39 mV です。

⚠️ よくある間違い
分解能を 5/127 や 10/255 としてしまうのが典型的な誤り——選択肢の−0.2734 がその罠です。
本問で与えられた2点は d=0 と d=128——その間が128段 なので5/128。「与えられた2点だけを使う」のが確実です。
また、この問題は平成22年度 B問題18 と完全に同一ですが、選択肢の並びが違うので(b)の番号が変わります(本問(4)/平成22年度(3))。
分解能とビット数の関係
ビット数が増えると、どれだけ細かく表せるようになるか——2の累乗で効いてきます。
| ビット数 | 段数 | 0〜5 V での1段の幅 |
| 8ビット | 256 | 約19.5 mV |
| 10ビット | 1,024 | 約4.9 mV |
| 12ビット | 4,096 | 約1.2 mV |
| 16ビット | 65,536 | ★約0.076 mV |
1ビット増えるごとに、細かさは2倍——8ビット増えれば256倍です。音楽CD が16ビットなのは、この細かさで人間の耳に十分だからです。
電気の計測でも同じ——ディジタル計器の表示桁数は、内部のA-D変換器のビット数で決まります。「分解能=測定範囲÷段数」という関係は共通です。
⏱️ 本番での進め方
①(a) 位取り展開→2次方程式→因数分解。r=6。
②(b) 絶対値表示はMSB を1 に、2の補数は反転して+1。
③★D-Aは与えられた2点から傾きを出す。5/128。
④ (0111 1000)2=120 の10進変換を落とさない。
💡 覚え方
「位取りは重みを掛けて足すだけ」——r進法も10進法も理屈は同じ。「分解能=電圧範囲÷段数」——2点が分かれば直線が引けると覚えましょう。
まったく同じ問題が平成22年度 B問題18で出題されています(情報:r進法の方程式とD-Aコンバータ)。14年ぶりの再出題でした。

A-D変換とD-A変換は表と裏
本問はD-A(ディジタル→アナログ)ですが、逆向きのA-D変換も同じ考え方です。
| A-D変換 | D-A変換 | |
| 向き | アナログ→ディジタル | ディジタル→アナログ |
| 使う場面 | ★センサの信号を取り込む | ★制御信号を出力する |
| 誤差 | 量子化誤差が生じる | 段階的な出力になる |
アナログ量は連続、ディジタル量は飛び飛び——この差が誤差になります。8ビットなら256段階でしか表せないのですから、その中間の値は表現できません。
誤差の大きさは、最大で1段の半分——本問なら約19.5 mV です。これを量子化誤差といいます。
電気の現場での使われ方
インバータの制御では、指令値をD-A変換して増幅器へ送ります——逆に電流や電圧の測定値はA-D変換して取り込む。両方が1つの装置の中で働いているのです。
ディジタル計器の表示も同じ仕組み——入力電圧をA-D変換して数値にしています。表示桁数が細かい計器ほど、内部のビット数が多いということです。
まとめ
| (a) rの方程式 | r²-6r=0 |
| (a) 答え | r=6 |
| (b)(ア) 絶対値表示 | (1000 1000)2 |
| (b)(イ) 2の補数 | (1111 1000)2 |
| (b)(ウ) Vd | -0.3125V |
| 答え | (a)-(2),(b)-(4) |
▼あわせて解きたい関連問題
・r進法の方程式とD-Aコンバータ(平成22年度の同一問題):【機械】平成22年度B問題18
・マイクロプロセッサのサイクルタイムと動作周波数:【機械】令和5年度上期B問題18

コメント