調查局三等申論題
106年
[電子科學組] 計算機概論
第 一 題
📖 題組:
請回答下列問題:(每小題 5 分,共 10 分) (一)給定二維陣列 a[6..11, 4..14],請計算出 a[8, 9]在以列為主時,是此陣列的第幾個元素? (二)若每個元素 4 個位元組,假設起始位址為(A88E)16,在以行為主時,a[8, 9]在此陣列的位址為何?
請回答下列問題:(每小題 5 分,共 10 分) (一)給定二維陣列 a[6..11, 4..14],請計算出 a[8, 9]在以列為主時,是此陣列的第幾個元素? (二)若每個元素 4 個位元組,假設起始位址為(A88E)16,在以行為主時,a[8, 9]在此陣列的位址為何?
📝 此題為申論題,共 2 小題
小題 (一)
給定二維陣列 a[6..11, 4..14],請計算出 a[8, 9]在以列為主時,是此陣列的第幾個元素?
思路引導 VIP
看到二維陣列位址計算題,應先確立陣列的列與行的「下界」、「上界」,並計算出單列的總行數與單行的總列數。接著根據「以列為主(Row-major)」或「以行為主(Column-major)」套用對應的索引展開公式求得偏移個數,最後計算實體位址時務必注意元素大小的乘積以及十進位轉十六進位的進位問題。
小題 (二)
若每個元素 4 個位元組,假設起始位址為(A88E)16,在以行為主時,a[8, 9]在此陣列的位址為何?
思路引導 VIP
看到陣列位址計算題,首先確立陣列的邊界大小(計算出總列數 M),接著辨認儲存方式(以「行」為主 Column-major)。最後套用公式算出目標與起點的「偏移元素個數」,乘上元素大小後,進行十進位轉十六進位的加法運算即可得出答案。