浮动结果不正确
Incorrect float result
我有一个浮点数组中的数字列表(见下文),我必须求和然后计算平均值。例如使用此代码:
for(i=0; i<M; i++)
sI_Ssum += sI_S[i];
并打印结果:
fprintf(fswaps, "Avg: %.1f", sI_Ssum/M);
我得到了这个明显错误的奇怪结果,但为什么会这样?
75157066131085846000000000000000.0
所有变量都是浮点数。
数组元素:
224230368
224013664
223660880
226627536
225013760
224190272
223501872
225202688
224685264
225468864
226371200
224903232
226204800
224598128
225268816
225997904
225491536
224665840
226138784
224613424
我想你忘记初始化了 sI_Ssum
。
将 sI_Ssum
设置为 0
-
sI_Ssum = 0;
我有一个浮点数组中的数字列表(见下文),我必须求和然后计算平均值。例如使用此代码:
for(i=0; i<M; i++)
sI_Ssum += sI_S[i];
并打印结果:
fprintf(fswaps, "Avg: %.1f", sI_Ssum/M);
我得到了这个明显错误的奇怪结果,但为什么会这样?
75157066131085846000000000000000.0
所有变量都是浮点数。
数组元素:
224230368
224013664
223660880
226627536
225013760
224190272
223501872
225202688
224685264
225468864
226371200
224903232
226204800
224598128
225268816
225997904
225491536
224665840
226138784
224613424
我想你忘记初始化了 sI_Ssum
。
将 sI_Ssum
设置为 0
-
sI_Ssum = 0;