中国开发网: 论坛: 程序员情感CBD: 贴子 511998
bjwf
技术贴:代码优化
typedef double data_type;

data_type sum1(data_type data[], unsigned int N)
{
unsigned int i;
data_type sum = 1;
for (i = 0; i < N; i++)
{
sum = sum *data[i];
}
return sum;
}

data_type sum2(data_type data[], unsigned int N)
{
unsigned int i;
data_type sum = 1;
unsigned int NN = N-2;
for (i = 0; i < NN; i+=2)
{
sum *= data[i];
sum *= data[i+1];
}
for ( ;i < N; i++)
sum *= data[i];
return sum;
}
data_type sum2x2(data_type data[], unsigned int N)
{
unsigned int i;
data_type sum1 = 1, sum2 = 1;
unsigned int NN = N-2;
for (i = 0; i < NN; i+=2)
{
sum1 *= data[i];
sum2 *= data[i+1];

}
for ( ;i < N; i++)
sum1 *= data[i];
return sum1 * sum2;
}

sum1, sum2 和sum2x2哪个快一些,为啥?

sum2 比 sum1 快好理解,但是 sum2x2为啥比sum2 快呢?
如果把 data_type 由double换成 int 结果如何?
试图在互联网上划出国界的举动是愚蠢的!!!
把人当成猪羊圈养,草料永远都不够!把人当人待,人有无限的创造力! “人口减少一半,人们两倍富有”的观念为“一种非常糟糕的自甘堕落—这背后的潜台词是,似乎中国人是封闭围栏中的动物,对周围那些自己赖以生存的资源,除了咀嚼,别无办法。”

我的像册:http://picasaweb.google.com/bjwf2000/
我的主页: http://bjwf2000.googlepages.com/

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录