好的,我有4096个浮点数,我有2个选项将它们存储到数组中:

您将使用哪个选项,为什么?


程序内部现有的数组

  const float AB[4096] = {1.83839f, 2.99345f, .... };

程序启动时的循环数组

 float A[64] = {9.37373f, ....};
 float B[64] = {1.37373f, ....};
 float AB[4096] ={0};
 int i=0;

 for(a=0; a < 8; a++)
   for(b=0; b < 8; b++)
     for(x=0; x < 8; x++)
       for(z=0; z < 8; z++)
           AB[i++] = A[(b*8+x)] * B[z+(8*a)];

最佳答案

为了避免计算本质上是常量数据的运行时开销以及大型初始化程序的繁琐且容易出错的条目,一个简单的折衷方案是编写代码来计算初始化程序,并使用常量初始化程序本身生成代码。然后,将生成的代码构建到应用程序中。

关于c - 4096个浮点数和2个选项,这是最好的方法,为什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26854353/

10-10 09:43