// test frexpf() and ldexpf() // #include #include #include int main( int argc, char *argv[]) { float v, v2, f, f2; int e, e2; for( int i = 1; i < argc; ++i) { v = atof(argv[i]); f = frexpf( v, &e); printf( "\n v = %g = %g x 2^%i\n", v, f, e); v2 = ldexpf( f, e+1); f2 = frexpf( v2, &e2); printf( "v*2 = %g = %g x 2^%i\n", v2, f2, e2); v2 = ldexpf( f, e-1); f2 = frexpf( v2, &e2); printf( "v/2 = %g = %g x 2^%i\n", v2, f2, e2); } return 0; }