機能 |
実数を仮数部と指数部(2x)に分解することを表す。 |
||||
---|---|---|---|---|---|
定義 |
#include <math.h> double frexp ( double value, int * exp ); float frexp ( float value, int * exp ); long double frexp ( long double value, int * exp ); ※C99規格では以下の定義となる double frexp ( double value, int * exp ); float frexpf ( float value, int * exp ); long double frexpl ( long double value, int * exp ); |
||||
引数 |
|
||||
戻り値 | 仮数値を0.5以上〜1.0未満の範囲で返す。 | ||||
実装例 |
#include <math.h> #include <stdio.h> int main(void) { double a = 4.0; double s; int e; s = frexp(a, &e); printf("%f = %f * 2 ^ %d\n", a, s, e ); /* a = s * 2 ^ e */ return 0; } |
||||
実行結果 |
4.000000 = 0.500000 * 2 ^ 3 |
frexp()