目次
はじめに
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は、差の計算や距離の測定など、数値計算の様々な場面で使われる基本的な関数です。
