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

C++のfabs()関数の使い方を解説!絶対値を求める方法とサンプルコード

C++で数値の絶対値を求めたいときに便利なのが、<cmath>ヘッダーに定義されているfabs()関数です。この記事では、fabs()関数の基本的な使い方から、実際のサンプルコード、実行結果までをわかりやすく解説します。

fabs()関数とは

fabs()は、C言語およびC++の標準ライブラリに含まれる関数で、引数に渡した浮動小数点数の絶対値(absolute value)を返します。負の値を渡せば正の値に変換され、正の値はそのまま返されます。

関数の宣言

fabs()関数は、以下のように宣言されています。

double fabs(double x)

パラメータと戻り値

  • x:絶対値を求めたい浮動小数点数(double型)
  • 戻り値:引数xの絶対値(double型)

なお、fabs()は浮動小数点数専用の関数です。整数型の絶対値を求める場合は、<cstdlib>ヘッダーのabs()関数を使用するのが一般的ですが、fabs()に整数を渡した場合も、暗黙的にdouble型へ変換されて正しく動作します。

fabs()関数の使用例

次のサンプルコードでは、正の整数と負の整数に対してfabs()関数を使用し、それぞれの絶対値を出力しています。

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

int main () {
    int a, b;
    a = 1234;
    b = -344;

    cout << "The absolute value of " << a << " is " << fabs(a) << endl;
    cout << "The absolute value of " << b << " is " << fabs(b) << endl;

    return(0);
}

実行結果

このプログラムをコンパイルして実行すると、以下のような出力が得られます。

The absolute value of 1234 is 1234
The absolute value of -344 is 344

まとめ

  • fabs()は浮動小数点数の絶対値を返す関数で、<cmath>ヘッダーをインクルードして使用する
  • 負の値は正の値に変換され、正の値はそのまま返される
  • 戻り値はdouble型なので、必要に応じてキャストや書式設定を行うとよい

数値計算や距離の計算など、絶対値が必要な場面はプログラミングで頻繁に登場します。fabs()関数の使い方をマスターして、効率的なコーディングに役立てましょう。

  1. C++のexpm1()関数とは?使い方とコード例を解説

    expm1()関数は、自然対数の底eを任意の数で累乗した値から1を引いた結果を計算するために使用される数学関数です。つまり、(e^a) - 1 の値を返します。 expm1()の数学的な表現は以下の通りです。 expm1(a) = (e^a) - 1 なお、xが非常に小さい値の場合、e^xは1に近づくため、通常の方法(exp(x) - 1)で計算すると桁落ちによって精度が低下します。expm1()関数を使うことで、このようなケースでも高精度な結果を得ることができます。 C++におけるexpm1()関数の構文は以下の通りです。 float expm1(variable_name); 各要素の意

  2. 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