グラフィック LCD のメモリアドレス
出典: 令和6年度 春期 応用情報技術者試験 午前 問22 (IPA)
次の方式で画素にメモリを割り当てる 640×480 のグラフィック LCD モジュールがある。始点 (5,4) から終点 (9,8) まで直線を描画するとき,直線上の x=7 の画素に割り当てられたメモリのアドレスの先頭は何番地か。ここで,画素の座標は (x,y) で表すものとする。
〔方式〕
- メモリは 0 番地から昇順に使用する。
- 1 画素は 16 ビットとする。
- 座標 (0,0) から座標 (639,479) までメモリを連続して割り当てる。
- 各画素は,x=0 から x 軸の方向にメモリを割り当てていく。
- x=639 の次は x=0 とし,y を 1 増やす。

- ア 3847
- イ 7680
- ウ 7694
- エ 8978
正解と解説を見る
正解: ウ
- ア: 3,847 は画素の通し番号です。1 画素が 2 番地を使うので 2 倍する必要があります。
- イ: 7,680 は y = 6 の行の先頭 (x = 0) の番地 (6 × 640 × 2) です。x = 7 の分が入っていません。
- ウ: (6 × 640 + 7) × 2 = 7,694 番地です。正しい答えです。
- エ: 8,978 は x と y を取り違えるなどして求めた値で、誤りです。
ポイント
- 直線 (5, 4) → (9, 8) は 1 画素進むごとに x, y が 1 ずつ増えるので、x = 7 のとき y = 6 です。
- 画素の番号 (0 から数えた通し番号) は y × 640 + x = 6 × 640 + 7 = 3,847 番目
- 1 画素は 16 ビット、メモリは 1 番地 8 ビットなので 1 画素 = 2 番地 です。
- 先頭アドレス = 3,847 × 2 = 7,694 番地 です。