#include <stdio.h>
const double PI=3.141592653589793;
double sum(long m)
{
double n,term,sum;
n=1; sum=0;
term= 1.0/ (n*n);/*初項*/
while( n<=m ){
sum+=term;
n++;
term= 1.0/ (n*n);/*次項の計算*/
}
return sum;
}
/*この計算の答えはπ*/
int main(void)
{
double s;
long m;
int i;
m=1;
for(i=0;i<9;i++){
s=sum(m);
printf("%2d m=%10ld sum= %22.16e err= %22.16e \n",i,m,s,s-PI*PI/6);
m*=10;/*次は10倍にする*/
}
return 0;
で真の値と計算結果を調べるにはどうしたらいいのでしょうか?
No.1ベストアンサー
- 回答日時:
>で真の値と計算結果を調べるにはどうしたらいいのでしょうか?
通常の方法では、真の値と計算結果を調べる方法は存在しません。これは、double型を使用していることからの制約から発生します。double型(8バイト)は有効数字が13~14桁までしかもてません。さらに、有効数字を大きくとるためにはlong double型(16バイト)というのもありますが、コンパイラによっては、この型をサポートしていません。(sunのfort-cコンパイラで使用した記憶がありますが、他のコンパイラで、使用できるかどうかは不明です)
では、どうするかというと、有効数字が100桁でも200桁でも望むだけの桁数がとれるような型を自分で作ってしまえばよいわけです。このような試みを、過去に行った人がいます。このような型を多倍長型といいます。望むだけの整数の桁数が計算できる整数型を多倍長整数といいます。望むだけの浮動小数点の桁数が計算できる実数型を多倍長浮動小数点といいます。
「多倍長」「浮動小数点」をキーワードにして検索をかけてみてください。
参考URL:http://www5.airnet.ne.jp/tomy/cpro/mpaman.htm
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelのINT関数の計算結果がお...
-
【C++】double の計算結果がお...
-
有効数字について 以前質問をし...
-
浮動小数点の切り捨てで-0.5を-...
-
VB.net Double と...
-
符号誤り率の計算は例題でどの...
-
計算の丸め誤差の解消について
-
PICで小数点の演算
-
doubleの精度について
-
大きな桁数の計算について
-
ExcelでPC(パソコン)によって...
-
マイナスからプラスへ転じた時...
-
信頼区間の1.96や1.65ってどこ...
-
「Aに対するBの割合」と「Aに対...
-
AtCoderABC135の問題Cについて
-
Aの値からBの値を除するとは??
-
C言語での引数の省略方法
-
プログラミング初心者です。 Py...
-
doubleの変数にintとintの割り...
-
「指定されたキャストは有効で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
O(n log n)について2
-
c languageで 簡単な質問があ...
-
VB.net Double と...
-
16進数 加算 減算 C言語
-
ExcelでPC(パソコン)によって...
-
三菱シーケンサ(Aシリーズ)で...
-
有効数字について 以前質問をし...
-
除算を使わずに10で割りたい。
-
ExcelのINT関数の計算結果がお...
-
VB6.0での小数点の扱いについて
-
”/”を使わずに割り算したいんで...
-
2進数の足し算(C言語)
-
EXCELの関数"STDEV(標準偏差)"...
-
floatの有効桁数
-
VBAでミリ秒まで出力する方法
-
VB6のFIX関数での誤差について
-
Log関数に関する質問
-
100桁の計算ができなくて困って...
-
距離から緯度経度を求める方法
-
VBAでの割り算の余りの求め方
おすすめ情報