C,C++言語には以下の数学関数が用意されていますが,これらを使うには #include <math.h> として math.h というヘッダをインクルードする必要があります.コンパイル時には $ gcc foo.c -lm というふうに -lm オプションを付ける必要がある場合があります. * 数学関数(要 math.h) [#a4cc7227] 一つまたは二つの引数を与え,それぞれの関数に対応した計算値を返すものです. ** 基本的なもの [#xdd08d02] ,関数プロトタイプ,内容,解説 ,"double pow(double x, double y)",x^y,べき乗 ,double fabs(doule x),|x|,絶対値 ,double sqrt(double x),sqrt(x),平方根 ,double cbrt(double x),sqrt[3](x),立方根 ,"double hypot(double x, double y)",sqrt(x^2 + y^2),二乗を足したものの平方根 ** 三角関数関係 [#y4363771] |関数プロトタイプ|内容|解説|h |double sin(double x)|sin(x)|三角関数| double cos(double x) cos(x) 〃 double tan(double x) tan(x) 〃 double asin(double x) Arcsin(x) 逆三角関数 double acos(double x) Arccos(x) 〃 double atan(double x) Arctan(x) 〃 double atan2(double y, double x) Arctan(y/x) 〃 double sinh(double x) sinh(x) 双曲線関数 double cosh(double x) cosh(x) 〃 double tanh(double x) tanh(x) 〃 double asihh(double x) Arcsinh(x) 逆双曲線関数 double acosh(double x) Arccosh(x) 〃 double atanh(double x) Arctanh(x) 〃 指数・対数関数 関数プロトタイプ 内容 解説 double exp(double x) exp(x) 指数関数 double expm1(double x) exp(x)-1 〃 double log(double x) log_e(x) 対数関数 double log10(x) log_10(x) 〃 double log1p(x) log_e(1+x) 〃 その他 関数プロトタイプ 内容 double rint(double x) x を四捨五入した整数 double floor(double x) n <= x < n+1 の整数 double ceil(double x) n-1 < x <= n の整数 数学定数(要 math.h) 定数として値が定義されているものです. 指数・対数 M_E e M_LOG2E log_2(e) M_LOG10E log_10(e) M_LN2 log_e(2) M_LN10 log_e(10) 円周率 M_PI π M_PI_2 π/2 M_PI_4 π/4 M_1_PI 1/π M_2_PI 2/π M_2_SQRTPI 2/sqrt(π) M_SQRT2 sqrt(2) M_SQRT1_2 1/sqrt(2)