1.1-有效数字丢失现象观察
1 #include<bits./stdc++.h> 2 using namespace std; 3 double f1(double x) 4 { 5 return sqrt(x)*(sqrt(x+1)-sqrt(x)); 6 } 7 double f2(double x) 8 { 9 return sqrt(x)/(sqrt(x+1)+sqrt(x)); 10 } 11 int main() 12 { 13 double t=1.0; 14 while (t<=1e14) 15 { 16 printf("At t=%.lf %.19lf %.19lf\n",t,f1(t),f2(t)); 17 t*=10.0; 18 } 19 printf("sqrt(x+1) = %.19lf sqrt(x) = %.19lf\n",sqrt(t+1),sqrt(t)); 20 printf("diff = %.19lf",sqrt(t+1)-sqrt(t)); 21 printf("sum = %.19lf",sqrt(t+1)+sqrt(t)); 22 }