frexp

frexp(将浮点型数分为底数与指数)

相关函数:ldexp,modf

表头文件:#include <math.h>

定义函数:double frexp(double x, int *exp);

函数说明:frexp()用来将参数x的浮点型数切割成底数和指数。底数部分直接返回,指数部分则借参数exp指针返回,将返回值乘以2的exp次方即为x的值。

返回值:返回参数x的底数部分,指数部分则存于exp指针所指的地址。

附加说明:使用GCC编译时请加入-lm。

范例:

#include <math.h>
main()
{
    int exp;
    double fraction;
    fraction = frexp(1024,&exp);
    printf("exp = %d\n",exp);
    printf("fraction = %f\n", fraction);
}

执行: exp = 11 fraction = 0.500000 /* 0.5*(2^11)=1024 */