c语言中的frexp()函数以底数与指数的形式来表示一个数。引入的头文件:#include <math.h>定义frexp()函数:double frexp(double x, int *exp);
函数说明:frexp()用来将参数x 的浮点型数切割成底数和指数。底数部分直接返回,指数部分则借参数exp 指针返回,将返回值乘以2 的exp 次方即为x 的值。
返回值:返回参数x 的底数部分,指数部分则存于exp 指针所指的地址。
注意,使用 GCC 编译时请加入-lm。
frexp()函数使用实例
#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