目次
はじめに
C++で、数値の符号(プラス/マイナス)を取り除いた、絶対値(原点0からの距離)を求めたい場合、標準ライブラリの <cmath>
(C言語では <stdlib.h>
や <math.h>
) ヘッダーに用意されている std::abs
(absolute valueの略) という関数を使います。
この記事では、abs
関数の基本的な使い方を、整数と浮動小数点数の両方のパターンで解説します。
abs
を使ったサンプルコード
このコードは、整数と浮動小数点数の負の値に対して abs
を適用し、その結果(正の値)を出力します。
完成コード
#include <iostream>
#include <cmath> // std::abs を使うために必要
using namespace std;
int main() {
// 1. 整数の絶対値
int int_val = -150;
cout << int_val << " の絶対値は " << abs(int_val) << " です。" << endl;
// 2. 浮動小数点数の絶対値
double double_val = -99.8;
cout << double_val << " の絶対値は " << abs(double_val) << " です。" << endl;
return 0;
}
実行結果
-150 の絶対値は 150 です。
-99.8 の絶対値は 99.8 です。
コードの解説
std::abs(x)
- 機能: 引数
x
として渡された数値の絶対値を返します。 - 引数の型: C++では、
abs
関数はint
,long
,long long
,float
,double
,long double
など、様々な数値型に対応するようにオーバーロードされています。渡された引数の型に応じて、最適なバージョンのabs
が自動的に呼び出されます。 - 戻り値の型: 引数と同じ型が返されます。
まとめ
今回は、C++の<cmath>
ライブラリを使って、数値の絶対値を求めるstd::abs
関数を解説しました。
<cmath>
ヘッダーをインクルードする。abs(数値)
の形で呼び出す。- 整数と浮動小数点数の両方で利用できる。
abs
は、差の計算や距離の測定など、数値計算の様々な場面で使われる基本的な関数です。