情報28【電験3種 機械】r進法の方程式とD-Aコンバータのオフセット・バイナリ・コード!平成22年度 B問題18 完全解説

電験3種 機械科目 情報 平成22年度 B問題18 r進法の方程式を解く!オフセットバイナリとは?

今回は平成22年度 機械科目 B問題18を解説します。情報27(令和6年度上期B問題18)と設問文・図・選択肢の数値が実質的に同一の問題で、本問(平成22年度)が出題年度としては古く、情報27はその再出題にあたります。r進法の方程式からrを求める(a)と、絶対値表示方式・2の補数・D-Aコンバータのオフセット・バイナリ・コードを扱う(b)の2段構成です。

解き方は情報27と全く同じです。(a)はr進法の位取り展開を10進の等式にしてrの2次方程式を解き、(b)は絶対値表示方式・2の補数表示の符号ビットの扱いと、D-Aコンバータの直線式で出力電圧を求めます。

🔁 この問題は繰り返し出題されています
ほぼ同じ問題が 【機械】令和6年度上期B問題18 でも出題されています。出題パターンが固定なので、セットで解けば確実な得点源になります。
目次

平成22年度 機械科目 B問題18:問題文と選択肢

まずは、実際の試験問題を確認してみましょう。

電験3種 機械科目 情報 平成22年度 B問題18 問題文
平成22年度 機械科目 B問題18 問題文

出典:一般財団法人 電気技術者試験センター「平成22年度 第三種電気主任技術者試験」機械科目 B問題18

電験3種 機械科目 【情報】 平成22年度 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は(イ)となる。③D-Aコンバータでは,8ビットのディジタル入力量(1000 0000)2を与えた場合に0.0000〔V〕が出力されるオフセット・バイナリ・コードを用いることが多い。ディジタル入力値が(0000 0000)2のときのアナログ出力値が-5.0000〔V〕であるオフセット・バイナリ・コードの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)(1000 1000)2(1111 1000)2-0.3125
(4)(1111 1000)2(1000 0111)2-0.3125
(5)(1000 1000)2(1111 1000)2-0.2734

(a) r進法の方程式を10進の式に直す

(122)r のような表記は「位取り」を意味します——各桁に r の累乗を掛けて足すだけです。

\( (122)_r=r^2+2r+2 \)
3桁なので r2 から
係数はそのまま各桁の数字
\( (42)_r=4r+2 \)
2桁
\( (40)_r=4r \)
2桁
一の位は0
\( (r^2+2r+2)-(4r+2)=4r \)
方程式に代入
\( r^2-6r=0 \Rightarrow r(r-6)=0 \)
整理して因数分解
★r=6

r=0 は条件に合わないので、r=6 が答えです。各桁に4 が使われていることからも、r は5 以上でなければならないと分かります。

答え(a)の正解は (2) r=6です。
図 D-Aコンバータの入出力特性(オフセット・バイナリ・コード、自作図)
図 D-Aコンバータの入出力特性(オフセット・バイナリ・コード、自作図)
r進法、8ビット符号表現、オフセット・バイナリD-A変換の要点
r=6、符号絶対値1000 1000、2の補数1111 1000、D-A出力−0.3125 Vです。

(b) 負の数を表す3つの方式

本問は「−8 をどう表すか」を2通り、さらにD-A変換で1通り——合計3つの表現方式が登場します。

方式−8(8ビット)考え方
絶対値表示★1000 1000MSB を符号、残り7ビットで絶対値
2の補数★1111 1000全ビット反転して+1
オフセット・バイナリ0111 1000中央(1000 0000)を0 とみなす
\( 8=(0000\ 1000)_2 \)
まず絶対値を2進数に
\( -8 \rightarrow (1000\ 1000)_2 \)
★絶対値表示
MSB を1 にするだけ
\( \overline{0000\ 1000}=1111\ 0111 \)
2の補数:全ビット反転
\( 1111\ 0111+1=(1111\ 1000)_2 \)
★+1 して完成
2の補数

絶対値表示は分かりやすいのですが、0 が2通り(0000 0000 と1000 0000)できてしまうという欠点があります。足し算の回路も複雑になります。

2の補数なら、負の数も普通に足すだけで正しい答えが出る——だから実際のコンピュータはすべて2の補数です。「反転して+1」という手順で覚えてください。

(ウ) D-Aコンバータの出力電圧

2つの基準点が与えられています——これで直線が1本決まります

\( d=0 \rightarrow -5.0000\ [\mathrm{V}] \)
1点目
問題文より
\( d=128 \rightarrow 0\ [\mathrm{V}] \)
2点目
(1000 0000)2=128
\( V_d=\dfrac{5}{128}d-5 \)
★直線式
傾き=5÷128
\( d=(0111\ 1000)_2=120 \)
入力を10進に
64+32+16+8
\( V_d=\dfrac{5}{128}\times 120-5=-0.3125\ [\mathrm{V}] \)
代入
★答え

128 のうち120 なので、あと8 足りません——1段あたり5/128=0.0390625 V なので、その8倍で0.3125 V だけマイナス側この見方なら暗算に近い形で出せます

r進法の方程式でr=6を求め、D-A直線式でマイナス0.3125ボルトを求める計算
(122)r−(42)r=(40)rからr=6、d=120を直線式へ代入して−0.3125 Vです。
答え(a)の正解は (2)、(b)の正解は (3)です。

⚠️ よくある間違い
本問は令和6年度上期 B問題18 と設問も数値も同一ですが、選択肢の並び順が違うため答えの番号が変わります
本問の(b)は(3)、令和6年度上期は(4)——過去問を番号で覚えていると外します
覚えるのは「1000 1000/1111 1000/−0.3125 V」という中身本番では必ず値そのもので照合してください。
もう1つ、(ウ)の−0.2734 という選択肢5/127 や5/255 で計算した場合の値——基準点の取り方を誤ると、この数字に落ちます

オフセット・バイナリと2の補数の関係

この2つは、実はMSB を反転しただけの関係です——知っておくと変換が一瞬で済みます

10進2の補数オフセット・バイナリ
+1270111 11111111 1111
+10000 00011000 0001
00000 0000★1000 0000
−11111 11110111 1111
−1281000 00000000 0000

左右を見比べると、MSB だけが逆——他のビットは同じです。だからMSB を1つ反転させるだけで相互に変換できます

D-Aコンバータがオフセット・バイナリを使う理由は、入力が0 から255 まで増えると出力も単調に増えるから——回路が素直に作れるのです。2の補数だと、途中で不連続に見えてしまいます

⏱️ 本番での進め方
①(a) 位取り展開して2次方程式。r(r−6)=0 でr=6。
②(b) 絶対値表示はMSB を1 にするだけ。
③ 2の補数は「反転して+1」。−8 は1111 1000。
④(ウ) 2点から直線式。V=(5/128)d−5 に d=120。

💡 覚え方
「2の補数は反転して+1」——これだけで負の数が扱えますD-A変換は「2点が分かれば直線が引ける」——傾きは電圧範囲÷段数です。

まったく同じ問題が令和6年度上期 B問題18で再出題されています(情報:r進法の方程式とD-Aコンバータ)。答えの番号だけが違うので、比べながら解くと理解が深まります

10進数マイナス8の符号絶対値表示と2の補数表示の比較
符号絶対値はMSBだけを1にして1000 1000、2の補数はビット反転後に1を加えて1111 1000です。

6進法のまま筆算して検算する

r=6 が求まったら、元の式に戻して確かめましょう——10進に直さず、6進法のまま引き算しても同じです。

表記10進での値計算
(122)636+12+2=50
(42)624+2=26
★2450−26
(40)64×6=24★一致

確かに成り立ちます——方程式を解いた後の検算は30秒で済みます。B問題は配点が高いので、この手間は惜しまないでください。

桁に使える数字からも絞れる

与式には 4 という数字が使われています——r進法では各桁は 0 以上 r 未満だから r は5 以上でなければなりません。

選択肢は5、6、7、8、9——この条件だけでは絞れませんが、方程式を解く前の見通しにはなりますもし選択肢に3 や4 があれば、計算せずに除外できたわけです。

まとめ

(a) 答えr=6
(b)(ア)(1000 1000)2
(b)(イ)(1111 1000)2
(b)(ウ)-0.3125V
答え(a)-(2),(b)-(3)

▼あわせて解きたい関連問題
・r進法の方程式とD-Aコンバータ(令和6年度上期の再出題):【機械】令和6年度上期B問題18
・マイクロプロセッサのサイクルタイムと動作周波数(平成24年度):【機械】平成24年度B問題18

📚 次に解くべき関連問題
【機械】平成19年度B問題18(情報45)
【機械】令和5年度上期B問題18(情報29)
【機械】平成21年度A問題14(情報26)
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次