rint
, rintf
, rintl
浮動小数点値を浮動小数点形式で最も近い整数に丸めます。
構文
double rint( double x );
float rintf( float x );
long double rintl( long double x );
#define rint(X) // Requires C11 or higher
float rint( float x ); // C++ only
long double rint( long double x ); // C++ only
パラメーター
x
丸める浮動小数点値。
戻り値
rint
関数は x
に最も近い整数を表す浮動小数点値を返します。 nearbyint
関数と同様に、中間の値は、浮動小数点丸めモードの現在の設定に従って丸められます。 nearbyint
関数と異なり、rint
関数では、結果の値が引数と異なる場合に FE_INEXACT
浮動小数点例外が発生する場合があります。 エラーの戻り値はありません。
入力 | SEH 例外 | _matherr 例外 |
---|---|---|
± INF、QNaN、IND | なし | なし |
非正規化数 | EXCEPTION_FLT_UNDERFLOW |
なし |
解説
C++ ではオーバーロードが可能であるため、 rint
および float
の値を受け取って返す long double
のオーバーロードを呼び出すことができます。 C プログラムでは、tgmath.h マクロを<使用してこの関数を呼び出していない限り、rint
常に double
.>
<tgmath.h>rint()
マクロを使用する場合は、引数の型によって、この関数のどのバージョンが選択されるかが決定されます。 詳細については、「ジェネリック型数値演算」を参照してください。
既定では、この関数のグローバル状態の適用対象は、アプリケーションになります。 この動作を変更するには、「CRT のグローバル状態」を参照してください。
必要条件
機能 | C ヘッダー | C++ ヘッダー |
---|---|---|
rint , rintf , rintl |
<math.h> | <cmath> |
rint マクロ |
<tgmath.h> |
互換性の詳細については、「 Compatibility」を参照してください。
例
// crt_rint.c
// Build with: cl /W3 /Tc crt_rint.c
// This example displays the rounded results of
// the floating-point values 2.499999, -2.499999,
// 2.8, -2.8, 2.5 and -2.5.
#include <math.h>
#include <stdio.h>
int main( void )
{
double x = 2.499999;
float y = 2.8f;
long double z = 2.5;
printf("rint(%f) is %.0f\n", x, rint (x));
printf("rint(%f) is %.0f\n", -x, rint (-x));
printf("rintf(%f) is %.0f\n", y, rintf(y));
printf("rintf(%f) is %.0f\n", -y, rintf(-y));
printf("rintl(%Lf) is %.0Lf\n", z, rintl(z));
printf("rintl(%Lf) is %.0Lf\n", -z, rintl(-z));
}
rint(2.499999) is 2
rint(-2.499999) is -2
rintf(2.800000) is 3
rintf(-2.800000) is -3
rintl(2.500000) is 3
rintl(-2.500000) is -3
関連項目
数学と浮動小数点のサポート
ceil
, ceilf
, ceill
floor
, floorf
, floorl
fmod
, fmodf
lrint
, lrintf
, lrintl
, llrint
, llrintf
, llrintl
lround
, lroundf
, lroundl
, llround
, llroundf
, llroundl
nearbyint
, nearbyintf
, nearbyintl
rint
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示