戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

応用情報技術者 2020年 秋期 午前224


問題文

8ビットD/A変換器を使って負でない電圧を発生させる。使用する D/A変換器は、最下位の1ビットの変化で出力が10ミリ V変化する。データに0を与えたときの出力は 0ミリVである。データに16進数で82 を与えたときの出力は何ミリVか。

選択肢

820
1,024
1,300(正解)
1,312

🔒 解説は解答すると表示されます

8ビットDACの電圧換算【午前2解説】

正解の理由

16進数のデータを10進数に変換して、LSB当たりの電圧変化を掛ければ出力電圧が得られます。与えられた値は (16進)で、これを10進に直すと です。1ステップの変化が mV なので、出力は mV = mV となり、選択肢の中では が一致します。

解法ステップ

  1. 16進数を10進数に変換する。
  2. 1LSB の電圧増分を掛ける。
  3. 単位を確認して選択肢と照合する(1300 mV → )。
簡単なプログラム例:
value = int('82', 16)   # 16進 '82' を 10進に変換
output_mv = value * 10  # 1LSB = 10 mV
print(value, output_mv) # 出力: 130 1300

選択肢別の誤答解説

  • ア: 820
    誤りの典型例は、16進数の"82"をそのまま10進の82と見なし、mV = mV と計算することです。これは桁基数の誤認です。
  • イ: 1,024
    この値はよくあるケアレスミスや単位の取り違え(例: 2のべき乗の混同や別のビット長と混同)から出る値です。本問の正しい変換手順では導けません。
  • エ: 1,312
    一例として、16進の'82'を10進の82と見なし、誤って「16を掛ける」といった手順で計算すると となり、これをそのまま mV として選んでしまう可能性があります。基数変換とスケーリングを混同した結果です(正しい手順では を先に10進に直してからLSBを掛けます)。

よくある誤解

  • 16進数をそのまま10進として扱う("82"を82としてしまう)。
  • 「16進→10進の変換」と「LSBを掛ける」手順を混同して、余分に16を掛けるなどの誤操作をする。
  • DACのデータが符号付き(負を含む)と誤認し、オフセットや2の補数を考慮してしまう(本問は「負でない電圧」=符号なし)。

補足コラム

  • 一般式: 出力電圧 = (入力データの10進値) × (1LSBの電圧)
    ここでは mV。
  • 参考: 8ビットDACの最大出力は mV = mV = V(データが0~255の場合)。
  • 16進の早見テクニック: 高位桁×16 + 低位桁。たとえば 'AB' は

FAQ

Q. もし「データに0を与えたときの出力が0でない」とあったら?
A. その場合はオフセットがあるので、一般式にオフセット項を加えます:
Q. LSBが mV ではなく V 表示だったら?
A. 単位を合わせて計算します(例: 0.01 V = 10 mV)。単位換算ミスがないか常に確認してください。

関連キーワード: 8ビットDAC、D/A変換、16進数変換、LSB、電圧換算
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

応用情報技術者
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について