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 }
View Code

相关文章: