グラフィック LCD の画素アドレス
出典: 令和4年度 春期 応用情報技術者試験 午前 問21 (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 番地 (16 ビット) 使うので 2 倍します。
- イ: 7,680 は (0, 6) の画素のアドレス (6 × 640 × 2) で、x の分 (7 × 2 = 14) が足りません。
- ウ: 画素番号 3,847 × 2 バイト = 7,694 番地なので正しい答えです。
- エ: 8,978 は y = 7 の行の画素として計算した値です。直線上の x = 7 の点は y = 6 です。
ポイント
- 直線は (5, 4) から (9, 8) まで斜め 45 度なので、x = 7 のとき y = 6 です。
- 座標 (7, 6) は、y = 0 から 5 の 6 行分 (6 × 640 = 3,840 画素) の後ろ、その行の 8 番目 (x = 7) の画素です。画素番号は 3,840 + 7 = 3,847。
- 1 画素は 16 ビット = 2 バイト で、1 番地が 8 ビットなので、先頭アドレスは 3,847 × 2 = 7,694 番地 です。