浮動小数点数同士の加算の誤差を減らしたい
以下のようなプログラムで浮動小数点同士の加算を行っているのですが、極力誤差を減らしたいです。
C言語
int main(void){ int n; double result = 0.0; int range = 100000; for(n=0; n<range; n++){ result += sin(2.0*M_PI*n/range); } printf("%25.15lf\n",result); return 0; }
round関数を使って出力範囲の桁数で四捨五入したのちに計算を行えば良いのでしょうか?それとも他に精度を上げる方法があるのでしょうか?教えていただきたいです。
まだ回答がついていません
会員登録して回答してみよう