nearbyint
, nearbyintf
, nearbyintl
指定の浮動小数点値を整数に丸め、浮動小数点形式でその値を返します。
構文
double nearbyint( double x );
float nearbyintf( float x );
long double nearbyintl( long double x );
#define nearbyint( X ) // Requires C11 or higher
float nearbyint( float x ); //C++ only
long double nearbyint( long double x ); //C++ only
パラメーター
x
丸める値。
戻り値
成功した場合は、報告された現在の x
丸め形式 fegetround
を使用して、最も近い整数に丸められた値を返します。 それ以外の場合は、関数から次の値のいずれかが返されます。
問題 | Return |
---|---|
x = ±INFINITY |
±INFINITY (変更されません) |
x = ±0 |
±0 (変更されません) |
x = NaN |
NaN |
エラーは例外を _matherr
報告しません。具体的には、この関数は例外を報告 FE_INEXACT
しません。
解説
この関数の主な違いは、 rint
この関数が非不正確な浮動小数点例外を発生させないという点です。
浮動小数点の最大値は正確な整数であるため、この関数が単独でオーバーフローすることはありません。むしろ、使用する関数のバージョンによっては、出力で戻り値がオーバーフローすることがあります。
C++ ではオーバーロードができるため、float
または long double
のパラメーターを受け取って返す nearbyint
のオーバーロードを呼び出すことができます。 C プログラムでは、tgmath.h> マクロを<使用してこの関数を呼び出さない限り、nearbyint
常に 2 つの double 値を受け取り、double 値を返します。
<tgmath.h>nearbyint()
マクロを使用する場合は、引数の型によって、この関数のどのバージョンが選択されるかが決定されます。 詳細については、「ジェネリック型数値演算」を参照してください。
既定では、この関数のグローバル状態の適用対象は、アプリケーションになります。 この動作を変更するには、「CRT のグローバル状態」を参照してください。
必要条件
機能 | C ヘッダー | C++ ヘッダー |
---|---|---|
nearbyint , nearbyintf , nearbyintl |
<math.h> | <cmath> または <math.h> |
nearbyint マクロ |
<tgmath.h> |
互換性の詳細については、「 Compatibility」を参照してください。
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示