为了账号安全,请及时绑定邮箱和手机立即绑定

深入理解计算机系统 (6.20英文版)(6.16中文版)

深入理解计算机系统 (6.20英文版)(6.16中文版)

慕少森 2018-11-27 17:17:05
 struct algae_position{  int x;  int y;};for(i =0; i < 16; i++){  for(j =0; j < 16;j++){     total_x += grid[j][i].x;     total_y += grid[j][i].y;}} 其中total_x和total_y存储在寄存器中,缓存大小为16byte。我想问的是在缓存中如何做的?是grid[0][0]的x ,y然后grid[0][1]的x,y还是grid[0][0]的x,y然后grid[1][0]的x,y。我觉得是第一种但是如果是第一种的话和答案完全不相符。第二种思路和答案完全吻合。请高手解答
查看完整描述

2 回答

?
动漫人物

TA贡献1815条经验 获得超10个赞

问题可能是grid[j][i].x的下标j,i的位置与循环变量不对应造成的,如果换成grid[i][j].x就可以了


查看完整回答
反对 回复 2018-11-30
?
慕侠2389804

TA贡献1719条经验 获得超6个赞

第二种。

外循环是i,内循环是j,你的数组下标是grid[j][i]。


查看完整回答
反对 回复 2018-11-30
  • 2 回答
  • 0 关注
  • 872 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信