lrint
、 lrintf
、 lrintl
、 llrint
、 llrintf
、 llrintl
現在の丸めモードと方向を使用して、指定された浮動小数点値を最も近い整数値に丸めます。
構文
long int lrint(
double x
);
long int lrint(
float x
); //C++ only
long int lrint(
long double x
); //C++ only
long int lrintf(
float x
);
long int lrintl(
long double x
);
long long int llrint(
double x
);
long long int llrint(
float x
); //C++ only
long long int llrint(
long double x
); //C++ only
long long int llrintf(
float x
);
long long int llrintl(
long double x
);
#define lrint(X) // Requires C11 or higher
パラメーター
x
丸める値。
戻り値
正常に終了した場合、x
を丸めた整数値を返します。
問題点 | Return |
---|---|
x は戻りの型の範囲外です。x = ±INFx = NaN |
FE_INVALID を発生させ、ゼロ (0) を返します。 |
解説
C++ ではオーバーロードが可能であるため、float
型とlong double
型を受け取るlrint
とllrint
のオーバーロードを呼び出すことができます。 C プログラムでは、 <tgmath.h> マクロを使用してこの関数を呼び出す場合を除き、 lrint
と llrint
常に double
を受け取ります。
<tgmath.h>llrint()
マクロを使用する場合は、引数の型によって、この関数のどのバージョンが選択されるかが決定されます。 詳細については、「ジェネリック型数値演算」を参照してください。
x
が整数値に相当する浮動小数点を表さない場合、これらの関数はFE_INEXACT
を発生させます。
Microsoft 固有: 結果が戻りの型の範囲外の場合、またはパラメーターが非数 (NaN) または無限値 (infinity) の場合、戻り値は実装で定義されます。 Microsoft コンパイラは0 の値を返します。
既定では、この関数のグローバル状態の適用対象は、アプリケーションになります。 この動作を変更するには、「CRT でのグローバル状態」を参照してください。
要件
機能 | C ヘッダー | C++ ヘッダー |
---|---|---|
lrint 、 lrintf 、 lrintl 、 llrint 、 llrintf 、 llrintl |
<math.h> | <cmath> |
lrint マクロ |
<tgmath.h> |
互換性の詳細については、「 Compatibility」を参照してください。