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()関数を活用してみてください。
-
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
-
C++のswap()関数とは?2つの変数の値を入れ替える方法をサンプルコード付きで解説
swap()関数とは C++のswap()関数は、2つの値を入れ替える(交換する)ための関数です。この関数を利用すれば、一時的な第三の変数を自分で用意することなく、2つの変数の値を簡単に入れ替えることができます。 swap()関数の構文 void swap(int variable_name1, int variable_name2); 変数に値を代入してswap()関数に渡した場合、関数内では値の入れ替えが行われますが、呼び出し元の実際の変数の値は変わりません。これは、引数が「値渡し」で渡されるためです。実際の変数の値を入れ替えたい場合は、後述する「参照渡し」を使用します。 例1:s