【问答题请任选2道题进行作答】 小N有一台主存为512MB的计算机...
【问答题请任选2道题进行作答】
方式一:
int A[512][512]
……
int sum1()
{
int i, j, sum=0
for(i=0i<512i++)
for(j=0j<512j++)
sum+=A[i][j]
return sum
}
方式二:
int A[512][512]
……
int sum2()
{
int i, j, sum=0
for(j=0j<512j++)
for(i=0i<512i++)
sum+=A[i][j]
return sum
}
假设一个int类型数据占用32个bit,程序编译过程中除了数组A,其余变量都被分配到寄存器中,数组A按行优先方式在主存中存放。请问小N在自己的计算机上,通过哪种方式运行数组求和更快?为什么?