设有数组A[i,j],数组的每个元素长度为3字节,i的值为1 到8 ,j的值为1 到10,数组从内存首地址BA开始顺序存放,当用以行为主存放时,元素A[5,8]的存储首地址为
时间: 2024-03-07 17:53:55 浏览: 22
首先需要计算出每个元素在内存中的存储位置。由于每个元素长度为3字节,因此数组中相邻两个元素的地址之间相差3个字节。又因为数组以行为主存放,因此按照行优先的方式存储,即先存储第1行,再存储第2行,依次类推。
对于第1行,元素A[1,1]的存储位置是BA,A[1,2]的存储位置是BA+3,以此类推,A[1,10]的存储位置是BA+27。
对于第2行,元素A[2,1]的存储位置是BA+30,A[2,2]的存储位置是BA+33,以此类推,A[2,10]的存储位置是BA+57。
以此类推,可以得到元素A[5,8]的存储位置为:BA+120+3*(5-1)*10+3*(8-1)=BA+174。
因此,元素A[5,8]的存储首地址为BA+174。
相关问题
设有数组a[i,j],数组的每个元素长度为3字节,i的值为1 到8 ,j的值为1 到10,数组从内存首地址ba开始顺序存放,当用以列为主存放时,元素a[5,8]的存储首地址为()。
题目描述:有数组a[i,j],数组的每个元素长度为3字节,i的值为1至8,j的值为1至10,数组内存首地址ba开始顺序存放,当用数组下标作为主存放时,元素a[5,8]的存储首地址为()。
这道题目要求计算数组元素的存储首地址。给定的条件是数组a[i,j],每个元素长度为3字节,i的值为1至8,j的值为1至10,数组内存首地址ba开始顺序存放。当使用数组下标作为主存储时,在内存中,第一个元素a[1,1]的存储地址为ba,第二个元素a[1,2]的存储地址为ba+3,依此类推。
因为每个元素的长度为3字节,所以数组中相邻两个元素之间的地址跨度为3。当计算元素 a[i,j] 的存储首地址时,需要先计算其前面有多少个元素。因为数组下标从1开始,所以需要将i-1得到此元素所在行前面有多少个元素,即 (i-1)*10。再将j-1加上得到此元素在所在行前面有多少个字节,即(j-1)*3。因此此元素的存储地址为:
ba + (i-1)*10*3 + (j-1)*3
最后,题目要求计算元素a[5,8]的存储首地址。将i=5,j=8代入公式,得到:
ba + (5-1)*10*3 + (8-1)*3 = ba + 12*3 + 21 = ba + 57
因此,元素a[5,8]的存储地址为ba+57。
设有数组A[i,j],数组的每个元素长度为3字节,i的值为1到10,j的值为1到12,数组从内存首地址AA开始顺序存放,当以行序为主存放时,元素A[7,8]的存储首地址为 。 A.AA+220 B..AA+228 C..AA+231 D..AA+237
### 回答1:
C. AA的地址是231。
我们可以通过计算来得出答案。首先,每个元素长度为3字节,所以A[i,j]的存储地址可以表示为:
A[i,j]的地址 = AA的地址 + 每个元素所占的字节数 * (i-1) * 每行元素个数 + 每个元素所占的字节数 * (j-1)
其中,每行元素个数为12。将i替换为7,j替换为8,代入公式:
A[7,8]的地址 = AA的地址 + 3 * (7-1) * 12 + 3 * (8-1)
化简得:
A[7,8]的地址 = AA的地址 + 198 + 21
根据选项可知,只有C选项符合这个计算结果,所以答案为C。
### 回答2:
数组A[i,j]每个元素长度为3字节,即一个元素占3个内存地址。数组以行序为主存放,即先存放第1行,再存放第2行,以此类推。
对于元素A[7,8],它位于第7行第8列。我们需要计算出它的存储首地址。
在第1行中,第1个元素A[1,1]的存储地址为AA。
在第1行中,第2个元素A[1,2]的存储地址为AA + 3 = 228。
在第1行中,第3个元素A[1,3]的存储地址为AA + 6 = 231。
根据规律可知:
在第7行中,第1个元素A[7,1]的存储地址为AA + (7-1)*12*3 = AA + 216。
在第7行中,第2个元素A[7,2]的存储地址为AA + (7-1)*12*3 + 3 = AA + 219。
在第7行中,第3个元素A[7,3]的存储地址为AA + (7-1)*12*3 + 6 = AA + 222。
...
在第7行中,第8个元素A[7,8]的存储地址为AA + (7-1)*12*3 + (8-1)*3 = AA + 237。
所以,元素A[7,8]的存储首地址为D. AA + 237。
### 回答3:
元素A[7,8]的存储首地址为D. AA 237。
根据题目中给出的信息,我们可以得知数组A[i,j]的每个元素长度为3字节。又知道i的取值范围是1到10,j的取值范围是1到12。这意味着数组A共有10行,12列。
题目中还给出了数组从内存首地址AA开始顺序存放,并且是以行序为主的存放方式。也就是说,先按照第一行存放,然后再存放第二行,依次类推。
根据这些信息,我们可以计算出元素A[7,8]的存储首地址。我们知道数组从内存首地址AA开始存放,因为每个元素长度为3字节,所以每行占用的字节数为3 * 12 = 36字节。
那么,存储第七行的首地址为AA + (7-1) * 36 = AA + 216。再加上存储第八列的地址为AA + (8-1) * 3 = AA + 21。因此,元素A[7,8]的存储首地址为AA + 216 + 21 = D.AA 237。
所以,正确答案是D. AA 237。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)