C++のnearbyint()関数とは?使い方と実行例をわかりやすく解説
本記事では、C++ STLに用意されているnearbyint()関数の仕組み、構文、そして具体的な使用例について詳しく解説します。
nearbyint()関数とは?
nearbyint()は、C++標準ライブラリ(STL)に組み込まれている数学関数の一つで、<cmath>ヘッダーファイルで定義されています。この関数は、引数として渡された値を、現在設定されている丸めモードに従って最も近い整数値へと丸めた結果を返します。
丸めの方式はfegetround()で取得できる現在の丸めモードによって決まります。デフォルトでは「偶数への丸め(銀行家の丸め)」が適用されるため、たとえば2.5は2に、3.5は4に丸められるという特徴があります。
なお、この関数はfloat型、double型、long double型のいずれの値も引数として受け取ることができます。
構文
double nearbyint(double num); float nearbyint(float num); long double nearbyint(long double num);
パラメータ
この関数は以下のパラメータを受け取ります。
- num − 丸め対象となる数値。
戻り値
引数numを丸めた結果の整数値を返します。
使用例
入力例1
nearbyint(2.13);
出力
2
入力例2
nearbyint(3.4);
出力
3
サンプルコード①:小数点以下が切り捨てられるケース
#include <bits/stdc++.h>
using namespace std;
int main(){
float var = 3.4;
cout<<"value of var is: " <<var<< endl;
cout<<"value after round off is: "<<nearbyint(var);
return 0;
}出力
value of var is: 3.4 value after round off is: 3
この例では、変数varに3.4を代入し、nearbyint()で丸めています。3.4は最も近い整数である3に丸められます。
サンプルコード②:小数点以下が切り上げられるケース
#include <bits/stdc++.h>
using namespace std;
int main(){
float var = 7.9;
cout<<"value of var is: " <<var<< endl;
cout<<"value after round off is: "<<nearbyint(var);
return 0;
}出力
value of var is: 7.9 value after round off is: 8
こちらの例では7.9を丸めており、最も近い整数である8が出力されます。このように、nearbyint()は小数部分の値に応じて自動的に切り上げ・切り捨てを行います。
まとめ
nearbyint()関数は、現在の丸めモードに従って浮動小数点数を最も近い整数に丸めるための便利な関数です。round()関数との違いは、丸めモードの影響を受ける点にあります。数値計算において正確な丸め処理が必要な場面で活用してみてください。
-
C++のswap()関数とは?2つの変数の値を入れ替える方法をサンプルコード付きで解説
swap()関数とは C++のswap()関数は、2つの値を入れ替える(交換する)ための関数です。この関数を利用すれば、一時的な第三の変数を自分で用意することなく、2つの変数の値を簡単に入れ替えることができます。 swap()関数の構文 void swap(int variable_name1, int variable_name2); 変数に値を代入してswap()関数に渡した場合、関数内では値の入れ替えが行われますが、呼び出し元の実際の変数の値は変わりません。これは、引数が「値渡し」で渡されるためです。実際の変数の値を入れ替えたい場合は、後述する「参照渡し」を使用します。 例1:s
-
PHPのpi()関数とは?円周率(π)を取得する方法をわかりやすく解説
PHPのpi()関数は、円周率(π)の値を返す組み込み関数です。数学的な計算、特に円の面積や円周の長さを求める際に活用されます。構文pi()パラメータこの関数にはパラメータはありません。引数を指定せずにそのまま呼び出します。戻り値pi()関数は、円周率の近似値を浮動小数点数(float型)として返します。3.1415926535898使用例基本的な使い方は以下の通りです。<?php echo(pi()); ?>実行結果3.1415926535898M_PI定数を使った別の方法PHPでは、pi()関数の代わりに定義済み定数M_PIを使用することでも、同じ円周率の値を取得できま