ハードウェア (全112問中22問目)
No.22
次の方式で画素にメモリを割り当てる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増やす。
出典:令和4年春期 問21
- 3847
- 7680
- 7694
- 8978
- [出題歴]
- 応用情報技術者 R6春期 問22
- 応用情報技術者 H30秋期 問20
分類
テクノロジ系 » ハードウェア » ハードウェア
正解
ウ
解説
設問の図で黒く塗りつぶされている画素のうち、x=7の座標は(7, 6)であり、図中において8列7行目に位置します。メモリには上の行の画素から順に格納されていくこと、1行には640個の画素があることを踏まえると、座標(7, 6)が格納される位置は先頭から数えて、
640×縦6+横8=3,848番目
図よりメモリの各番地のサイズ8ビット、設問より1画素は16ビットなので、1つの画素を2つの番地を使って表すことになります。格納される順番ごとにメモリアドレスの先頭を考えてみると、1番目の画素はメモリの0番地、2番目は2番地、3番目は4番地、…、641番目(2行目先頭画素)は1,280番地 になります。これを一般化すると、n番目の画素が割り当てられるメモリアドレスの先頭番地は「(n-1)×2」の式で求めることができます。
以上より、座標(7, 6)=3,848番目の画素のメモリアドレスの先頭番地は、
(3,848-1)×2=7,694番地
したがって「ウ」が正解です。
640×縦6+横8=3,848番目
図よりメモリの各番地のサイズ8ビット、設問より1画素は16ビットなので、1つの画素を2つの番地を使って表すことになります。格納される順番ごとにメモリアドレスの先頭を考えてみると、1番目の画素はメモリの0番地、2番目は2番地、3番目は4番地、…、641番目(2行目先頭画素)は1,280番地 になります。これを一般化すると、n番目の画素が割り当てられるメモリアドレスの先頭番地は「(n-1)×2」の式で求めることができます。
以上より、座標(7, 6)=3,848番目の画素のメモリアドレスの先頭番地は、
(3,848-1)×2=7,694番地
したがって「ウ」が正解です。