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