,. 0. 0.0. C () /******************************* * $Id: ex_0_0.c,v.2 2006-04-0 3:37:00+09 naito Exp $ * * 0. 0.0 *******************************/ #include <stdio.h> int main(int argc, char **argv) double x = 0., y = 0.0 ; int n ; for(n=0;n<0;n++) y += x ; printf("y = %f\n", y) ; if (y ==.0) printf ("y equals to.0\n") ; else printf ("\n") ; printf("y = %.6f\n", y) ; return 0 ; gcc ex_0_0.c -o ex_0_0./ex_0_0 y =.000000 y = 0.9999999999999999 double. float. 0.,.0E- double, float 0. 0.F,.0E-F.
2 C (2) /******************************* * $Id: ex_0_0_.c,v.3 2006-04-0 3:37:07+09 naito Exp $ * * 0. 0.0 *******************************/ #include <stdio.h> int main(int argc, char **argv) float x = 0.F, y = 0.0F ; int n ; for(n=0;n<0;n++) y += x ; printf("y = %f\n", y) ; if (y ==.0F) printf ("y equals to.0\n") ; else printf ("\n") ; printf("y = %.8f\n", y) ; return 0 ; y =.000000 y =.0000002 0. 0.0. 0. 0.0.
3 Java // // $Id: ex_0_0.java,v.2 2006-04-05 6:38:59+09 naito Exp $ // import java.io.* ; /** * 0. 0.0 * @author Hisashi Naito */ public class ex_0_0 public static void main (String args[]) throws IOException double x = 0., y = 0.0 ; int n ; for(n=0;n<0;n++) y += x ; System.out.println("y = " + y) ; if (y ==.0) System.out.println("y equals to.0") ; else System.out.println("") ; javac ex_0_0.java java ex_0_0 y = 0.9999999999999999 double. float. 0.,.0E- double, float 0. 0.F,.0E-F. y =.000000
4 Fortran C $Id: ex_0_0.f,v. 2006-04-0 2:7:9+09 naito Exp $ C 0. 0.0 PROGRAM EX_0_0 REAL X, Y INTEGER N X = 0. ; Y = 0.0 ; DO N=,0, Y = Y + X ENDO WRITE(*,60) Y =, Y IF (Y.EQ..0) THEN PRINT *, Y EQUALS TO.0 ELSE PRINT *, Y DOES NOT EQUALS TO.0 ENDIF 60 FORMAT(A,F0.8) STOP END g77 ex_0_0.f./ex_0_0 y =.0000002 real. double precision. 0.,.0E- real, double precision 0. 0.D0,.0D-. y = 0.9999999999999999
5 OCaml (* ex_0_0.ml *) (* $Id: ex_0_0.ml,v.3 2006-04-05 8:57:54+09 naito Exp $ *) (* 0. 0.0 *) let ex_0_0 () = let x = 0. and y = ref 0.0 in for n = to 0 do y := x +.!y done ; Printf.printf "%f\n"!y ; if (!y ==.0) then Printf.printf "y equals to.0\n" else Printf.printf "\n"; Printf.printf "%.6f\n"!y ; ;; ex_0_0() ;; ocamlc ex_0_0.ml ocamlc ex_0_0.cmo -o./ex_0_0./ex_0_0.000000 0.9999999999999999 OCaml float. OCaml.
6 0. 0.0.,,.. 0. 0.0, 0. 0.0.
7 lim ( + n /n)n., lim ( + n /n)n = e, e, 2.78288284590452353602874735266249775724709369995. n 2.0000000000 2.0000000000000000 2.0000000000000000 5 2.48832022 2.488399999999999 2.488399999999994 0 2.5937430859 2.59374246000009 2.593742460000023 50 2.695805340 2.695880290736047 2.695880290736078 00 2.704830035 2.70483829425289 2.70483829425285 500 2.755508995 2.75568520656980 2.75568520657282 000 2.77049693 2.769239322355203 2.769239322355936 5000 2.780233002 2.78000500677 2.780005005549 0000 2.780233002 2.78459268243562 2.78459268249255 50000 2.725235233 2.78254646335386 2.7825464626732 00000 2.725235233 2.78268237975284 2.78268237922975 500000 2.754429872 2.782790298656 2.782790260366 000000 2.5946049690 2.78280469564275 2.782804690957534 5000000 3.292979773 2.7828555595598 2.7828555200292.0e+07 3.292979773 2.78286939803724 2.782869432088 5.0e+07.0000000000 2.782886570668 2.7828849349388.0e+08 2.78287863957975 2.78287983473577 5.0e+08 2.782872903208 2.78287488625042.0e+09 2.78282030845095 2.7828205205603 5.0e+09 2.782820434752482 2.782820530988732.0e+0 2.782820434752482 2.782820532347876 5.0e+0 2.7828203060255 2.78282053343588.0e+ 2.7828203060255 2.7828205335702 5.0e+ 2.78226686540404 2.7822696056250.0e+2 2.785234695682796 2.785234960372378 5.0e+2 2.792786740366 2.792796535723.0e+3 2.7600743422 2.7600340869009 5.0e+3 2.760008485276 2.7600340870092.0e+4 2.760008485276 2.7600340870226 5.0e+4 2.760004857476 2.7600340870337.0e+5 3.03503583962924 3.035035206549268 5.0e+5 3.0350358445453 3.0350352065492636.0e+6.0000000000000000.0000000000000000,. lim ( + n /n)n = (float), (double), (double), pow
8, e ( + /n) n 0 Method 2 0 Method 2 0. 0. 0.0 0.0 0.00 0.00 0.000 0.000 e-05 e-05 e-06 e-06 e-07 e-07 e-08 e-08 e-09 00 0000 e+06 e+08 e+0 e+2 e+4 e+6 e-09 00 0000 e+06 e+08 e+0 e+2 e+4 e+6 0 Method 3 5 0. 4 0.0 0.00 3 0.000 e-05 2 e-06 e-07 e-08 e-09 00 0000 e+06 e+08 e+0 e+2 e+4 e+6 0 00 0000 e+06 e+08 e+0 e+2 e+4 e+6, 0 0 0. 0. 0.0 0.0 0.00 0.00 0.000 0.000 e-05 e-05 e-06 e-06 e-07 e-07 e-08 e-08 e-09 00 0000 e+06 e+08 e+0 e+2 e+4 e+6 e-09 00 0000 e+06 e+08 e+0 e+2 e+4 e+6
9 (Solaris ) /* sample_0_2.c * (+/n)^n * */ #include <stdio.h> double power(double, unsigned long) ; unsigned long print_value[] =, 5, 0, 50, 00, 500, 000, 5000, 0000, 50000, 00000, 500000, 000000, 5000000, 0000000, 50000000, 00000000, 500000000, 000000000, 5000000000, 0000000000, 50000000000, 00000000000, 500000000000, 000000000000, 5000000000000, 0000000000000, 50000000000000, 00000000000000, 500000000000000, 000000000000000, 5000000000000000, 0000000000000000, 50000000000000000 ; int main(int argc, char **argv) int i ; int limit = sizeof(print_value)/sizeof(print_value[0]) ; for(i=0;i<limit;i++) fprintf(stdout, "%-6lu\t%8.6f\n", print_value[i], power((.0+.0/(double)print_value[i]), print_value[i])) ; return 0 ; double power(double x, unsigned long n) double x0 =.0, x = x ; while(n) if (n&) x0 *= x ; x *= x ; n >>= ; return x0 ;
0 (Linux ) /* sample_0_2.c * (+/n)^n * */ #include <stdio.h> double power(double, unsigned long long) ; unsigned long long print_value[] =, 5, 0, 50, 00, 500, 000, 5000, 0000, 50000, 00000, 500000, 000000, 5000000, 0000000, 50000000, 00000000, 500000000, 000000000, 5000000000, 0000000000, 50000000000, 00000000000, 500000000000, 000000000000, 5000000000000, 0000000000000, 50000000000000, 00000000000000, 500000000000000, 000000000000000, 5000000000000000, 0000000000000000, 50000000000000000 ; int main(int argc, char **argv) int i ; int limit = sizeof(print_value)/sizeof(print_value[0]) ; for(i=0;i<limit;i++) fprintf(stdout, "%-6lu\t%8.6f\n", print_value[i], power((.0+.0/(double)print_value[i]), print_value[i])) ; return 0 ; double power(double x, unsigned long long n) double x0 =.0, x = x ; while(n) if (n&) x0 *= x ; x *= x ; n >>= ; return x0 ;
.0 0, 0.0.,. lim ( + n /n)n, n, (+/n) n, gnuplot..,., Solaris unsigned long 8, Linux 4. Linux unsigned long long 8. lim n n/n lim sin(x)/x,., x 0. C pow, gcc foo.c -lm. -lm., IEEE754,. C, Java, Fortran, OCaml.