😸

[C] frexp 関数

に公開

機能

frexp 関数は、浮動小数点数を仮数部と指数部に分解する。[1]

使用例

0.75 を分解する

\n は改行を表す エスケープシーケンス[2]

コード

double x = 0.75;
int exp;
double mantissa = frexp(x, &exp);
printf("mantissa = %f, exponent = %d\n", mantissa, exp);
全文
#include <stdio.h>
#include <math.h>
void main() {
    double x = 0.75;
    int exp;
    double mantissa = frexp(x, &exp);
    printf("mantissa = %f, exponent = %d\n", mantissa, exp);
}

実行結果

mantissa = 0.750000, exponent = 0

-8.0 を分解する

コード

double x = -8.0;
int exp;
double mantissa = frexp(x, &exp);
printf("mantissa = %f, exponent = %d\n", mantissa, exp);
全文
#include <stdio.h>
#include <math.h>
void main() {
    double x = -8.0;
    int exp;
    double mantissa = frexp(x, &exp);
    printf("mantissa = %f, exponent = %d\n", mantissa, exp);
}

実行結果

mantissa = -0.500000, exponent = 4
脚注
  1. 例えば、実数 x を x = m × 2^e の形に分解する。返値が仮数 m、第二引数で指数 e を受け取る。 ↩︎

  2. 改行やタブなど、画面に表示されない制御文字のこと。 ↩︎

Discussion