C 标準庫 - <math.h>
描述
C 庫函數
double frexp(double x, int *exponent)把浮點數 x 分解成尾數和指數。傳回值是尾數,并将指數存入
exponent中。所得的值是
x = mantissa * 2 ^ exponent。
聲明
下面是 frexp() 函數的聲明。
double frexp(double x, int *exponent)
參數
- x -- 要被計算的浮點值。
- -- 指向一個對象的指針,該對象存儲了指數的值。
傳回值
該函數傳回規格化小數。如果參數 x 不為零,則規格化小數是 x 的二次方,且它的絕對值範圍從 1/2(包含)到 1(不包含)。如果 x 為零,則規格化小數是零,且零存儲在 exp 中。
執行個體
下面的執行個體示範了 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