指数関数の求め方
以下の二つのプログラムは指数関数を求めるものですが、前者ではxに-19以下の値を入れた際にまったく異なる解をだします。 これの原因を教えてください。
-----------------------------------------------------------
double myexp(double x){
double e=0.0,w=1.0;
int n=1;
while( n<1000){
e = e + w;
w = w * (x/n++);
}
return e;
}
-----------------------------------------------------------
double myexp(double x){
double e=0.0,w=1.0;
int n=1,f=0;
if(x < 0){
f = 1;
x = -x;
}
while(n<1000){
e = e + w;
w = w * (x/n++);
}
if(f == 1){
e = 1 / e;
}
return e;
}
-----------------------------------------------------------
お礼
あ、そういうことでしたか。 ありがとうございます!!