//p26.c -- @CopyLeft by tsaiwn@csie.nctu.edu.tw // demo the Limition of float in C Language // Floating overflow 實數溢位 ! 太大存不進去分配的空間 // IEEE754/854 document /* s eeeeeee efffffff gggggggg hhhhhhhh */ /* +/- 1.fffffffgggggggghhhhhhhh * 2**(eeeeeeee - 127) */ /* eeeeeeee: Exponent base 2 excess 127 */ #include #include int main( ) { float ans = pow(2,125); /* 2 的 125 次方 */ int k; for(k=1; k<= 6; ++k) { printf("= %f\n", ans ); ans *= 2.0; } printf("Hit RETURN key..."); getchar( ); return 0; } /****** C:\test2> gcc p26.c C:\test2> a.exe = 42535295865117308000000000000000000000.000000 = 85070591730234616000000000000000000000.000000 = 170141183460469230000000000000000000000.000000 = 1.#INF00 = 1.#INF00 = 1.#INF00 Hit RETURN key... C:\test2> ********************/