【C言語】math.hを使って基本的な数学を実装する【標準ライブラリ】

【C言語】math.hを使って基本的な数学を実装する【標準ライブラリ】

math.hとは

math.h はC言語の標準ライブラリに含まれるヘッダーファイルで、数学関数を提供します。平方根、三角関数、指数関数、対数関数、丸め関数などが含まれており、数値計算を行う際に非常に役立ちます。

基本的な数学関数

math.h には基本的な数学演算を行う関数が含まれています。

平方根を求める: sqrt()

sqrt() 関数は非負の数の平方根を求めます。


#include <stdio.h>
#include <math.h>

int main() {
    double x = 25.0;
    printf("sqrt(%.2f) = %.2f\n", x, sqrt(x));
    return 0;
}

出力:

sqrt(25.00) = 5.00

べき乗を求める: pow()

pow() 関数は x^y を計算します。


#include <stdio.h>
#include <math.h>

int main() {
    double base = 2.0, exponent = 8.0;
    printf("%.2f^%.2f = %.2f\n", base, exponent, pow(base, exponent));
    return 0;
}

出力:

2.00^8.00 = 256.00

三角関数

角度を扱う場合に便利な三角関数が利用できます。

正弦: sin()

sin() はラジアン単位での正弦を求めます。


#include <stdio.h>
#include <math.h>

int main() {
    double angle = M_PI / 2; // 90度
    printf("sin(90°) = %.2f\n", sin(angle));
    return 0;
}

余弦: cos()

cos() はラジアン単位での余弦を求めます。

正接: tan()

tan() はラジアン単位での正接を求めます。

指数・対数関数

指数関数や対数関数を利用することもできます。

指数関数: exp()

exp(x) は e^x を求めます。

自然対数: log()

log(x) は ln(x)(自然対数)を求めます。

常用対数: log10()

log10(x) は底が10の対数を求めます。

丸め関数

浮動小数点数を整数に近い値に変換する関数です。

切り上げ: ceil()

ceil(x) は x を超えない最小の整数に切り上げます。

切り捨て: floor()

floor(x) は x を下回らない最大の整数に切り捨てます。

四捨五入: round()

round(x) は四捨五入します。

その他の便利な関数

絶対値: fabs()

fabs(x) は x の絶対値を求めます。

剰余: fmod()

fmod(x, y) は x を y で割った余りを求めます。

最大・最小: fmax(), fmin()

fmax(x, y) は x と y の最大値を返し、fmin(x, y) は最小値を返します。

math.hを使う際の注意点

  • math.h の関数を使用する際には、#include <math.h> を必ず記述する。
  • 数学関数は double 型の引数を取ることが多いので、float 型を渡すときは f 付きの関数(例: sinf())を使用する。
  • コンパイル時に -lm オプションをつける必要がある場合がある(例: gcc program.c -o program -lm)。
コメントは受け付けていません。