基本情報技術者 2012年 春期 午前(科目A) 問25
問題文
7セグメントLED点灯回路で、出力ポートに16進数で6Dを出力したときの表示状態はどれか。ここで、P7を最上位ビット(MSB)、P0を最下位ビット(LSB)とし、ポート出力が1のとき、LEDは点灯する。


選択肢
ア:
イ:
ウ:(正解)
エ:
🔒 解説は解答すると表示されます
7セグメントのビット対応【午前解説】
正解の理由
16進数の6Dを2進数8ビットで表すと です。P7 が最上位ビット、P0 が最下位ビットなので、P7〜P0 は 0, 1, 1, 0, 1, 1, 0, 1 になります。図の配線は P0 → a、P1 → b、…、P6 → g、P7 → Dt なので、ポート出力が1のセグメントは a(P0)、c(P2)、d(P3)、f(P5)、g(P6)で、b(P1)、e(P4)、Dt(P7)は消灯します。点灯するのは上・右下・下・左上・中段の5本で、数字の「5」の形になり、小数点は消灯です。この表示は ウ です。
解法ステップ
- 6D を2進数にする:、 → 。
- P7(MSB)〜P0(LSB)に対応させる:P7=0, P6=1, P5=1, P4=0, P3=1, P2=1, P1=0, P0=1。
- 図の配線(P0→a, P1→b, P2→c, P3→d, P4→e, P5→f, P6→g, P7→Dt)で点灯・消灯を決める。
- 点灯:a, c, d, f, g
- 消灯:b, e, Dt
- 選択肢の表示と照合する。
選択肢別の誤答解説
- ア:a, b, c, d, g と小数点が点灯(数字の「3.」の形)。b と Dt が点灯し f が消灯しているので一致しません。
- イ:b, c, f, g が点灯(数字の「4」の形)。a と d が消灯し b が点灯しているので一致しません。
- ウ:a, c, d, f, g が点灯し、小数点は消灯(数字の「5」の形)。計算結果と一致します(正解)。
- エ:a, b, c, f と小数点が点灯。g と d が消灯し b と Dt が点灯しているので一致しません。
よくある誤解
- ビットの並び(MSB と LSB)を逆に読む。6D を逆順(10110110)で対応させると別の表示になります。問題文の「P7 を最上位ビット(MSB)、P0 を最下位ビット(LSB)」に従います。
- 1で消灯と取り違える。本問は「ポート出力が1のとき、LEDは点灯する」です。
補足コラム
- 7セグメント表示器には、各 LED の陰極をまとめたコモンカソード型と、陽極をまとめたコモンアノード型があります。どちらかによって、1で点灯するか0で点灯するかが変わります。
- 数字の「5」は a, c, d, f, g の点灯で表します。よく使う数字のパターンを覚えておくと、照合が速くなります。
val = 0x6D
segs = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'Dt']
print([s for i, s in enumerate(segs) if val >> i & 1]) # ['a', 'c', 'd', 'f', 'g']
FAQ
Q. 小数点 Dt はどのビットですか?
A. 図の配線では P7(最上位ビット)につながっています。6D の最上位ビットは0なので消灯です。
A. 図の配線では P7(最上位ビット)につながっています。6D の最上位ビットは0なので消灯です。
関連キーワード: 7セグメントLED、2進数、16進数、ビット対応、出力ポート

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

