float frexpf(float val, int *exp);
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を格納*/ : } |