//p23.c -- @CopyLeft by tsaiwn@csie.nctu.edu.tw // demo the precision of float 實數 in C Language // float 實數準確度七位多 #include float x, xdelta; int i; /*precision.c */ main( ) { double y; x = 1234567.2, xdelta = 0.0001; printf("Before loop, x=%f\n", x); for(i=1; i<= 8000; i++){ y = x + xdelta; /******/ if(i == 1) printf("first y = %f\n", y); x = y; } printf("After loop, x=%f\n", x); printf("Hit RETURN key..."); getchar( ); return 0; } // main end /******* ccbsd2:precision/> gcc precision.c ccbsd2:precision/> ./a.out Before loop, x=1234567.250000 first y = 1234567.250100 After loop, x=1234567.250000 ccbsd2:precision/> float 實數佔用 32 bits ======= Run on Windows: C:\test2>gcc p23.c C:\test2>a.exe Before loop, x=1234567.250000 first y = 1234567.250100 After loop, x=1234567.250000 C:\test2> ****************************/