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

応用情報技術者 2014年 秋期 午前219


問題文

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

選択肢

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

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

8ビットD/Aの電圧算出【午前2解説】

正解の理由

与えられたデータは16進数の82(0x82)であり、これを10進に直すと です。D/A変換器は最下位ビットの変化で出力が10ミリV変化し、データ0で0ミリVなので、出力電圧はデジタル値に10mVを掛けた値になります。したがって出力は となり、選択肢の中では が正しいです。

解法ステップ

  1. 16進 82 を10進に変換する:
  2. 1LSB = 10mV なので、出力電圧
(一般式:、ここで は10進のデジタル値)

選択肢別の誤答解説

  • ア: 820
    • 発生しやすい誤りは、16進数 82 をそのまま「82(10進)」と誤認し、 と計算することです。正しい変換は各桁を16の重みで評価すること()です。
  • イ: 1,024
    • 1,024は の値で、コンピュータ関連で頻繁に現れる数値ですが、本問の計算(16進→10進→LSB乗)とは無関係です。候補として選ばれる理由としては「2の冪や1k(1,024)と混同した」「ビット数を誤って10ビットと見なした」などの認識ミスが考えられますが、正しい手順では導出されません。
  • : 1,300
    • 正答。上記の通り、0x82 = 130(10進)で になります。
  • エ: 1,312
    • よくある誤りは「16進数の変換方法を取り違える」ことです。例えば 82 を10進として扱い、さらに「16を掛けるべきだ」と誤って としてしまうパターンです。しかし正しい変換は各桁を重み付けして を行うことであり、上記の掛け算は誤りです。

よくある誤解

  • 16進数をそのまま10進数とみなして計算してしまう(桁ごとの重みを使う必要がある点の見落とし)。
  • LSB(ここでは10mV)の掛け算を忘れる、あるいは誤った係数を使う(例:1LSBを8mVや1mVと誤認)。
  • 2の冪(例:1024)やビット数の数え方を混同して、無関係な値を使ってしまう。

補足コラム

  • 16進数の一般的な変換手順:例えば AB16 なら (A,Bは16進の各桁の値)。
  • 8ビットD/Aで1LSBが10mVの場合、最大出力は (データFFh)。
  • 確認用の簡単なPython例:
value_hex = "82"
value_dec = int(value_hex, 16)   # 16進を10進に変換
lsb_mV = 10
voltage_mV = value_dec * lsb_mV
print(value_dec, voltage_mV)     # 出力: 130 1300

FAQ

Q. 16進 82 はどうやって計算する?
A. 各桁を16の重みで評価します:
Q. LSBの意味は?
A. LSB(Least Significant Bit)は「最下位ビット」のことで、ここでは1ビット変化で出力が変わる電圧量(10mV)を指します。
Q. なぜ0のとき0mVなのか重要?
A. オフセットがあるD/Aだと基準がずれる(例えばデータ0で-500mVなど)ため、設問で0→0mVと明示されていることにより単純に D×LSB の計算でよいことが確認できます。

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

\ せっかくなら /

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

クイズ画面へ遷移する

すぐに利用可能!

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

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