frexp()函数把一个双精度数分解为尾数和指数。
frexp()函数 语法
double frexp(double x,int*eptr);
参数x为要进行分解的双精度浮点数;
参数eptr为指针类型的形参。
frexp()函数将给定的双精度数分解为数字部分和以2为底的指数n,即x=m2n,n存储在eptr所指向的变量中。
frexp()函数 示例
本示例使用frexp函数实现对浮点数72.0进行分解,使其以72.0=x*2eptr形式输出到屏幕上。其具体代码如下所示:
#include<stdio.h>
#include<math.h>
main()
{
double x;/*定义分解浮点数的小数部分*/
int eptr;/*定义以2为底的幂指数*/
x=frexp(72.0,&eptr);/*计算给定浮点数的分解的小数和指数*/
printf("72.0=%.6lf*2^%d",x,eptr);/*输出结果*/
getchar();
return 0;
}
运行结果如图所示。