frexp() - C函式


C庫函式 double frexp(double x, int *exponent)返回值是尾數指向的整數指數是指數。得到的值是 x = mantissa * 2 ^ exponent.

宣告

以下是 frexp() 函式的宣告。

double frexp(double x, int *exponent)

引數

  • x -- 這是一個浮點值用於計算

  • exponent -- 這是指數值是儲存int物件的指標。

返回值

這個函式返回正常化的分數。如果引數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
", x, fraction, e);
   
   return(0);
}

讓我們編譯和執行上面的程式,這將產生以下結果:

x = 1024.00 = 0.50 * 2^11