C++
 Computer >> コンピューター >  >> プログラミング >> C++

C++のexp()関数とは?使い方とサンプルコードをわかりやすく解説

C++で指数計算を行う際に便利なのが、<cmath>ヘッダーで提供されているexp()関数です。この記事では、exp()関数の基本的な使い方から実際のサンプルコード、実行結果までをわかりやすく解説します。

exp()関数とは

C/C++の標準ライブラリ関数であるdouble exp(double x)は、自然対数の底 e(ネイピア数:約2.71828) の x 乗の値を返します。数学でいう「ex」の計算に相当し、指数関数的な増加や減少を扱う処理、科学技術計算、統計処理など幅広い分野で利用されています。

関数の宣言

double exp(double x)

引数と戻り値

  • 引数(x): 浮動小数点型(double)の値を指定します。
  • 戻り値: e の x 乗の値(xの指数値)が返されます。

サンプルコード

以下は、exp()関数を使って e の 0乗・1乗・2乗 を計算する例です。<iostream><cmath> の2つのヘッダーをインクルードする必要があります。

#include <iostream>
#include <cmath>
using namespace std;

int main () {
    double x = 0;
    cout << "The exponential value of " << x << " is " << exp(x) << endl;
    cout << "The exponential value of " << x+1 << " is " << exp(x+1) << endl;
    cout << "The exponential value of " << x+2 << " is " << exp(x+2) << endl;
    return(0);
}

実行結果

The exponential value of 0 is 1
The exponential value of 1 is 2.71828
The exponential value of 2 is 7.38906

実行結果のポイント

  • e0 = 1: 任意の数の0乗は1になるため、exp(0) の結果は必ず 1 になります。
  • e1 ≒ 2.71828: ネイピア数そのものが得られます。
  • e2 ≒ 7.38906: ネイピア数を2回掛け合わせた値です。

なお、逆の演算である対数を求めたい場合は log() 関数を使用します。log(exp(x)) は元の x の値に戻るため、両者は互いに逆関数の関係にあります。指数計算が必要な場面では、ぜひexp()関数を活用してみてください。

  1. C++のlog1p()関数とは?使い方とサンプルコードをわかりやすく解説

    C++のlog1p()関数の概要C++のlog1p()関数は、任意の数値 a に対して「(a + 1) の自然対数(底が e の対数)」を計算するための関数です。戻り値として (a+1) の自然対数の値が返されます。なお、引数に -1 未満の値 を渡した場合は、有効な結果が得られないため NaN(Not a Number) が返される点に注意が必要です。数学的な表現log1p() の動作は、次の数式で表すことができます。log1p(a) = base-e log(a+1)log1p()の構文C++における log1p() 関数の構文は以下のとおりです。float log1p(float var

  2. C++のswap()関数とは?2つの変数の値を入れ替える方法をサンプルコード付きで解説

    swap()関数とは C++のswap()関数は、2つの値を入れ替える(交換する)ための関数です。この関数を利用すれば、一時的な第三の変数を自分で用意することなく、2つの変数の値を簡単に入れ替えることができます。 swap()関数の構文 void swap(int variable_name1, int variable_name2); 変数に値を代入してswap()関数に渡した場合、関数内では値の入れ替えが行われますが、呼び出し元の実際の変数の値は変わりません。これは、引数が「値渡し」で渡されるためです。実際の変数の値を入れ替えたい場合は、後述する「参照渡し」を使用します。 例1:s