frexpf


浮動小数点数を仮数部とべき乗に分割します。

[所属]

数学ライブラリ

[指定形式]

#include <mathf.h>

float frexpf(float val, int *exp);

[戻り値]

仮数部mを返します。

valが0の場合,*expに0をセットし,0を返します。

valが±∞の場合,*expに0をセットし,非数を返し,グローバル変数errnoにマクロEDOMを設定します。

valが非数の場合,*expに0をセットし,非数を返します。

[詳細説明]

float型のvalを仮数部mと2のp乗で表します。結果の仮数部mは,valが0でないかぎり,0.5 <= | x | < 1.0となります。pは*expに格納されます。m,およびpは,val = m * 2 pとなるように計算されます。

[使用例]

#include    <mathf.h>
void func(void) {
    float   ret, x;
    int     exp;
    x = 5.28;
    ret = frexpf(x, &exp);  /*結果の仮数部0.66がretに返り,expには3を格納*/
      :
}