一个关于计算机导论的题目.一个具有8行和11列的二维数组以行优先方式存储,其开始地址为25,如果数组中每一个数据项占据2个存储单元,那么第3行第6列所对应的数据项的存储地址是多少?如果

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 07:14:12
一个关于计算机导论的题目.一个具有8行和11列的二维数组以行优先方式存储,其开始地址为25,如果数组中每一个数据项占据2个存储单元,那么第3行第6列所对应的数据项的存储地址是多少?如果

一个关于计算机导论的题目.一个具有8行和11列的二维数组以行优先方式存储,其开始地址为25,如果数组中每一个数据项占据2个存储单元,那么第3行第6列所对应的数据项的存储地址是多少?如果
一个关于计算机导论的题目.
一个具有8行和11列的二维数组以行优先方式存储,其开始地址为25,如果数组中每一个数据项占据2个存储单元,那么第3行第6列所对应的数据项的存储地址是多少?如果该二维数组采用列优先方式存储,那么第3行第6列所对应的数据项的存储地址又是多少?请给出计算过程和结果

一个关于计算机导论的题目.一个具有8行和11列的二维数组以行优先方式存储,其开始地址为25,如果数组中每一个数据项占据2个存储单元,那么第3行第6列所对应的数据项的存储地址是多少?如果
假设如下:
rowcount=8;//数组行数
colcount =11; //数组列数
initAddress =25; //数组起始地址
row =3,col =6; //要计算的行和列,行和列计数是从1开始的,如果从0开始计数,公式需要修改.
行优先:currAddress = initAddress + ( (row-1)*colcount + (col-1) ) *2= 25+ ((3-1)*11 +( 6-1))*2 = 25 + 54 = 79;
列优先:currAddress = initAddress + ( (col-1)*rowcount+ (row-1) ) *2= 25+ ((6-1)*8 +( 3-1))*2 = 25 + 88 = 113