浮動小数点数同士の加算の誤差を減らしたい
以下のようなプログラムで浮動小数点同士の加算を行っているのですが、極力誤差を減らしたいです。
C言語
1int main(void){ 2 int n; 3 double result = 0.0; 4 int range = 100000; 5 6 for(n=0; n<range; n++){ 7 8 result += sin(2.0*M_PI*n/range); 9 10 } 11 12 printf("%25.15lf\n",result); 13 return 0; 14}
round関数を使って出力範囲の桁数で四捨五入したのちに計算を行えば良いのでしょうか?それとも他に精度を上げる方法があるのでしょうか?教えていただきたいです。
回答2件
あなたの回答
tips
プレビュー