Linux講座にようこそ。このページは「C言語プログラミング入門 - 第14章.ライブラリ関数 - 数学ライブラリ」です。

C言語プログラミング入門

14. ライブラリ関数(22/36) - 数学ライブラリ(3/3)

14.34 累乗・平方根関数

14.34.1 pow関数

pow関数は引数で指定した、xのn乗(xn)の値を返します。C言語には累乗(べき乗)の演算子はありませんので、累乗の計算が必要な場合はこの関数を使うとよいでしょう。

【表14-4-6】 pow関数
形式#include <math.h>
double pow(double x, double n);
返り値xのn乗の値を返します。
引数
double x
累乗xnに対する底xの値を指定します。
double n
累乗xnに対する指数nの値を指定します。

14.34.2 sqrt関数

sqrt関数は引数で指定した、xの平方根のうち負でない方の値を返します。

【表14-4-7】 sqrt関数
形式#include <math.h>
double sqrt(double x);
返り値xの平方根の値を返します。
引数
double x
平方根を求める値を指定します。

14.34.3 例題

20から210までの値を表示します。

  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. int main(void)
  5. {
  6.     double  y;
  7.  
  8.     for(y = 0.0; y <= 10.0; y = y + 1.0)
  9.     {
  10.         printf("2 ** %d = %d\n", (int)y, (int)pow(2.0, y));
  11.     }
  12.  
  13.     return 0;
  14. }
$ ./ex14_4_2.prg
2 ** 0 = 1
2 ** 1 = 2
2 ** 2 = 4
2 ** 3 = 8
2 ** 4 = 16
2 ** 5 = 32
2 ** 6 = 64
2 ** 7 = 128
2 ** 8 = 256
2 ** 9 = 512
2 ** 10 = 1024
$
10行目
2yの値をpow関数で求めます。

14.35 対数関数

14.35.1 log関数、log10関数

  • log関数はxの自然対数の値を返します。
  • log10関数はxの底が10の対数(常用対数)の値を返します。
【表14-4-8】 log関数、log10関数
形式#include <math.h>
double log(double x);
double log10(double x);
返り値それぞれの対数の値を返します。
引数
double x
logaxに対する真数の値xを指定します。

14.36 その他の関数

14.36.1 exp関数

exp関数は自然対数の底がeのx乗の値を返します。

【表14-4-9】 exp関数
形式#include <math.h>
double exp(double x);
返り値eのx乗の値を返します。
引数
double x
累乗exに対する指数xの値を指定します。

14.36.2 fmod関数

fmod関数は浮動小数点数除算の余りの値を返します。

【表14-4-10】 fmod関数
形式#include <math.h>
double fmod(double x, double y);
返り値余りの値を返します。
引数
double x
被除数(割られる方の値)を指定します。
double y
除数(割る方の値)を指定します。

14.36.3 frexp関数

frexp関数は浮動小数点数を小数成分と整数成分に分解し、それぞれの値を返します。小数成分は浮動小数点数xに2の累乗を乗じたもので、絶対値は常に0.5以上1未満になります。

【表14-4-11】 frexp関数
形式#include <math.h>
double frexp(double x, int *exp);
返り値小数成分の値を返します。
引数
double x
元になる値を指定します。
int *exp
整数成分の値が返ります。

14.36.4 ldexp関数

ldexp関数は浮動小数点数と2の整数乗との積の値を返します。

【表14-4-12】 ldexp関数
形式#include <math.h>
double ldexp(double x, int exp);
返り値2の整数乗との積の値を返します。
引数
double x
元になる値を指定します。
int exp
累乗2expに対する指数expの値を指定します。

14.36.5 modf関数

modf関数は浮動小数点数を整数部分と小数部分に分解し、それぞれの値を返します。

【表14-4-13】 modf関数
形式#include <math.h>
double modf(double x, double *iptr);
返り値小数部分の値を返します。
引数
double x
元になる値を指定します。
double *iptr
整数部分の値が返ります。