C庫函數(shù) double frexp(double x, int *exponent)返回值是尾數(shù)指向的整數(shù)指數(shù)是指數(shù)。得到的值是 x = mantissa * 2 ^ exponent.
以下是 frexp() 函數(shù)的聲明。
double frexp(double x, int *exponent)
x -- 這是一個(gè)浮點(diǎn)值用于計(jì)算
exponent -- 這是指數(shù)值是存儲(chǔ)int對(duì)象的指針。
這個(gè)函數(shù)返回正?;姆?jǐn)?shù)。如果參數(shù)x不為零時(shí),歸一化分?jǐn)?shù)為x倍的冪,它的絕對(duì)值一直在1/2(含)到1(不包括)的范圍內(nèi)。如果x是零,則規(guī)格化一化分?jǐn)?shù)是零和零exp中存儲(chǔ)。
下面的例子顯示frexp()函數(shù)的用法。
#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); }
讓我們編譯和運(yùn)行上面的程序,這將產(chǎn)生以下結(jié)果:
x = 1024.00 = 0.50 * 2^11