当前位置: 首页 > 文档资料 > C 标准库 中文版 >

double frexp(double x, int *exponent)

优质
小牛编辑
124浏览
2023-12-01

描述 (Description)

C库函数double frexp(double x, int *exponent)返回值是尾数, exponent指向的整数是指数。 结果值是x = mantissa * 2 ^ exponent

声明 (Declaration)

以下是frexp()函数的声明。

double frexp(double x, int *exponent)

参数 (Parameters)

  • x - 这是要计算的浮点值。

  • exponent - 这是指向int对象的指针,其中存储指数的值。

返回值 (Return Value)

此函数返回标准化分数。 如果参数x不为零,则归一化分数是2的幂的x倍,并且其绝对值总是在1/2(包括)到1(不包括)的范围内。 如果x为零,则归一化分数为零,零存储在exp中。

例子 (Example)

以下示例显示了frexp()函数的用法。

#include <stdio.h>
#include <math.h>
int main () {
   double x = 1024, fraction;
   int e;
   fraction = frexp(x, &e);
   printf("x = %.2lf = %.2lf * 2^%d\n", x, fraction, e);
   return(0);
}

让我们编译并运行上述程序以产生以下结果 -

x = 1024.00 = 0.50 * 2^11