首页 > 试题广场 >

数组的存储地址是?

[单选题]
二维数组X按行顺序存储,其中每个元素占1个存储单元。若X[4][4]的存储地址为Oxf8b82140,X[9][9]的存储地址为Oxf8b8221c,则X[7][7]的存储地址为()。
  • Oxf8b821c4
  • Oxf8b821a6
  • Oxf8b82198
  • Oxf8b821c0
推荐
假设每行有n个元素:
[9][9] - [4][4] = 21c-140=5n+5
[7][7] - [4][4]=x- 140 =3n+3
[7][7] = 140+3/5*( 21c-140 )= 1c4
编辑于 2015-09-04 09:57:49 回复(23)
x[4][4]这个元素的地址是Oxf8b82140,则 x[4][9]的地址是Oxf8b82140+5= Oxf8b82145,它与x[9][9这个元素刚好差5行,所以每行的元素个数为{ Oxf8b8221c- Oxf8b82145)/5=d7(十进制245)/5=43,所以x[]7[9]的地址是x[4][9]+3*43(十六进制81)= Oxf8b821c6,x[7][7]的地址=x[7][9-2]= Oxf8b821c4
发表于 2015-09-01 17:02:52 回复(10)
智商秀逗了。沦落到了小学智商题的水平:
[9][9] - [4][4] = 21c-140=5n+5
[7][7] - [4][4]=x-   140   =3n+3
[7][7] =   140+3/5*(   21c-140   )=   1c4
发表于 2015-09-04 21:00:35 回复(3)
X[4][4] 至X[9][4]所差地址为5行的长度;
oxf8b8221c - oxf8b82140 = 0xDC ,十进制为220;
(220 - 5) / 5 = 43,即每行的长度为43;
X[7][7]的地址为X[4][4] 加 3行地址长度 加 3;
3行地址长度 加 3为 43 * 3 + 3 = 132,转换为十六进制为ox84;
因此,oxf8b82140 + ox84 = 0xf8b821c4;

发表于 2015-09-02 22:35:25 回复(4)
设每行有n个元素,初始地址为x; 则:4n+4=140-x; 9n+9=21c-x;相减得 5n+5=dc转换为十进制为220,故2n+2=88,转换为十六进制为58,21c-58=1c4
发表于 2015-09-01 14:41:56 回复(3)
o        o        o       [4][4]  o        o        o        o        o        o        o        ................
o        o        o        o        o        o        o        o        o        o        o        ................
o        o        o        o        o        o        o        o        o        o        o        ................
o        o        o        o        o        o        [7][7]  o        o        o        o        ................
o        o        o        o        o        o        o        o        o        o        o        ................
o        o        o        o        o        o        o        o       [9][9]  o        o        ................
假设每一行的元素个数为x,每个元素占yBytes,则:
[9][9]-[4][4]       (x-4+4x+9)y=(5x+5)y= 0xf8b8221c-0xf8b82140=0xDC
[7][7]-[4][4]       (x-4+2x+7)y=(3x+3)y=(13*16+12)/5*3=132=0x84
[7][7]=0xf8b82140+0x84=0xf8b821c4  
发表于 2015-09-04 16:17:38 回复(2)
假设每行有n个元素,6,7,8,9共有4n个元素,5行还剩n-5个元素,10行有10个元素,(以0开始)。每个元素一个存储单元
4n+n-5+10 = (0xf8b8221c-oxf8b82140)10进制 n=43.
[7][7] = [4][4]+((43-5)+2*43+8))转16进制 = (oxf8b82140+84) = 0xf8b821c4
发表于 2015-09-01 10:57:27 回复(0)
[9][4]-->[4][4]-->得到每行有多少个 3乘行数+3 --> [7][7]
发表于 2020-12-10 17:11:35 回复(0)
address[7][7] = address[4][4] + 3/5 *( address[9][9] - address[4][4])
发表于 2018-04-04 10:32:41 回复(0)
假设每行有n个元素:
[9][9] - [4][4] = 21c-140=5n+5      (1)
[7][7] - [4][4]=x- 140 =3n+3           (2)
由(1)和(2)计算得:
[7][7] = 140+3/5*( 21c-140 )= 1c4
   21c
- 140
————
    dc                 (按16进制算,借位借16)
然后将dc转换为10进制,乘以3/5,再将结果转为16进制,再与140做加法(16进制)。

发表于 2017-03-11 22:34:50 回复(0)
把X[4][4]、 X[5][5]、 X[6][6]、 X[7][7]、 X[8][8]、 X[9][9]看成一个等差数列,已知第一个和最后一个元素的值,进行推导即可。
发表于 2015-09-05 11:07:12 回复(1)
 题目没有给出存储单元的大小,我们假设为T,同时假设X的定义为X[N][M],那么就有:
1)X[4][4]的地址为a = X + 4*M+4 = Oxf8b82140 
2)X[9][9]的地址为b = X + 9*M+9 =  Oxf8b8221c
于是又X[7][7]的地址为:
X + 7*M+7 = (a + b + (a-b) / 5) / 2。从而得到答案A 
发表于 2015-09-02 16:09:07 回复(0)
设每行有n个元素,初始地址为x; 则:4n+4=140-x; 9n+9=21c-x;相减得 5n+5=dc转换为十进制为220,故2n+2=88,转换为十六进制为58,21c-58=1c4
发表于 2023-05-18 16:04:10 回复(0)
因为不知道每行有多少个元素,假设每行H个元素:
[9][9] - [4][4] = 21c-140 =5H+5 =5(H+1)
[9][9] - [7][7]=21c-X =2H+2 =2(H+1)
[7][7] = 21c-2/5*(21c-140)= 1c4
发表于 2020-03-17 22:35:57 回复(0)

解题流程整理

1.清楚数组的表示(注意到,数组是从0开始计数的。而且数组的总长总宽未知,设为未知数n)
2.用表达式表示清楚
s+4n+4 = D_4
s+9n+9 = D_9
s+7n+7 = D_7
求D_7
D_9-D_4 = 5n+5
D_7 = D_4+3/5*(D_9-D_4)
这里还是要进行10进制和16进制的转化
D_9-D_4=dc
dc(16)=13*16+12=220(10)
3/5*220 = 44*3=132(10)=84(16)
D_7 = D_4 + 84
发表于 2016-09-08 19:50:04 回复(0)
X[9,4]=X[9,9]-5=Oxf8b8221c-5= Ox F8B82217
 5n=X[9,4]-X[4,4]=OxF8B82217-Oxf8b82140=D7
n=D7/5=2B
X[7,7]=X[4,4]+3n+3= Oxf8b82140+3*2B+3= F8B821C4
选A
发表于 2015-09-02 10:39:23 回复(0)
看成等差数***实简单些
发表于 2024-08-06 17:13:28 回复(0)
为什么是5n+5?我这样理解
审题:题目给了两个数组元素的地址,数组有多少行列不清楚!列不清楚,就不知道一行有多少个元素。
为了方便理解我就从1开始计行列。
那么因为x[4][4]是第4行第4列,与x[9][4]第9行第4列相差多少个元素(同在一列)?
没错,我们不知道!但是我们知道相差刚刚好是5行!设行为n,
那么x[4][4]与x[9][9]第9行第9列相差多少个元素?
相差5行多5个元素!5n+5
然后根据官方解释大佬们就懂了,鄙人开始审题就错了
编辑于 2023-02-04 16:55:05 回复(0)
发表于 2022-04-14 11:10:01 回复(0)
需要先解出矩阵维数为43哈哈哈。其实就是数学题
发表于 2019-03-12 23:52:38 回复(0)

16 进制运算 0x

发表于 2019-03-02 10:01:55 回复(0)