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


選択肢
ア:
イ:
ウ:(正解)
エ:
🔒 解説は解答すると表示されます
7セグメントLED表示パターン【午前解説】
正解の理由
- 16進数
6Dを2進数に変換すると で,結合して となります。 - 問題で「P7をMSB,P0をLSB」と定義されているため,ビット列の各桁はP7..P0に対応します。したがってP0..P7の値はLSB側から順に (P0=1, P1=0, …, P6=1, P7=0)になります。
- 図の接続でP0→a, P1→b, P2→c, P3→d, P4→e, P5→f, P6→g, P7→Dtなので,ビットが1のP0,P2,P3,P5,P6に対応するセグメントa,c,d,f,gが点灯します。
- 小数点Dt(P7)は0(消灯)なので点灯せず,結果としてa,c,d,f,gが点灯する表示が正しいため,選択肢の中で該当するのは ウ です。
解法ステップ
- 16進数
6Dを2進数に変換する: → 。 - ビットをP7..P0に対応させる(問題の定義通り):P7=0, P6=1, P5=1, P4=0, P3=1, P2=1, P1=0, P0=1。
- P0..P7を各セグメントに対応させる:P0→a, P1→b, …, P6→g, P7→Dt。
- ビットが1のポートが点灯(問題文に明記)するので,a,c,d,f,gが点灯,b,e,Dtは消灯と判定。
- 選択肢の図と照合して,同じセグメントが点灯している表示を選ぶ(該当は ウ)。
選択肢別の誤答解説
- ア:bが点灯している(P1=1と読み替え)・小数点Dtが点灯しているなど,P1,P7の状態を誤認しています。実際はP1=0,P7=0でこれらは消灯です。
- イ:上端aが消灯になっている点で誤り。P0=1なのでaは点灯します。したがってイは除外。
- ウ:a,c,d,f,gが点灯している構成(P0,P2,P3,P5,P6 = 1)で正解です(表示とビット対応を正しく扱えば一致します)。
- エ:小数点Dtや左右セグメントの状態が異なり,P7やP5,P6の値の読み違いにより不一致になります。
よくある誤解
- 誤解1:MSBとLSBの向きを逆に読むミス。左から右へ並べる図の見た目とビットの重み(MSB/LSB)を混同しやすいです。
- 誤解2:出力=1が「消灯」だと誤認するケース。回路が共通アノード/共通カソードで逆になる場合があるため,問題文の条件を必ず確認してください。
- 誤解3:16進→2進変換でニブル(4ビット)ごとの並びを間違える。一度に8ビットとして結合してからビット位置を確認すると安全です。
補足コラム
- 共通アノード/共通カソードの違い:本問題は「ポート出力が1のときLEDは点灯」と明示されています。実際の回路図を読むときは,電源側(アノード)と接地側(カソード)のどちらが共通かで論理が反転する場合があるため注意してください。
- 16進→2進のチェック方法:紙に書くときは上位ニブル,下位ニブルを明確に分け,最終的に8ビットで並べてP7..P0に割り当てると誤りが減ります。
FAQ
Q1. 「P7がMSB」とは具体的に何を意味しますか?
A1. 1バイト(8ビット)のうち,最も重みが大きいビット(2^7)をP7が担うという意味です。16進数表記6Dの左側のビット群がP7側になります。
A1. 1バイト(8ビット)のうち,最も重みが大きいビット(2^7)をP7が担うという意味です。16進数表記6Dの左側のビット群がP7側になります。
Q2. 出力ポートが1のとき点灯とあるが,反転回路ならどう判断する?
A2. 問題文に明記がなければ回路図上の接続(共通端子の極性)を見て判断します。教科書問題では条件が明らかな場合が多いです。
A2. 問題文に明記がなければ回路図上の接続(共通端子の極性)を見て判断します。教科書問題では条件が明らかな場合が多いです。
Q3. 小数点Dtはいつ点灯する?
A3. P7が1のとき点灯します。本問ではP7=0のため消灯です。
A3. P7が1のとき点灯します。本問ではP7=0のため消灯です。
関連キーワード: 7セグメント、ビット演算、16進数、2進数変換、MSB、LSB、ポート出力、セグメントマッピング

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

