欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

计算平均值防止溢出的方法

程序员文章站 2022-05-31 17:29:38
...

简介

在计算平均值时, 如果累加项过多, 可能会出现累加溢出的情况, 此时需要寻找其他方法。

解决方案

计算含有1000000个元素的double数组的平均值:
主要代码为:

average = average * i/(i+1) + array[i]/(i+1);

示例:

double array[1000000] = {2000.0,30000.1,...}
double average = 0;
for (int i = 0; i < sizeof(array); ++i){
	average = (double)i/(double)(i+1) * average + array[i]/(i+1);
}

平均值为 average

相关标签: 奇技淫巧