浮動小数点数を仮数部とべき乗に分割します。
[所属]
数学ライブラリ
[指定形式]
#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を格納*/
:
}
|