AINT(3M)

名前
aint, anint, irint, nint - 浮動小数点形式または整数形式の整数値への丸め

形式

cc [ flag ... ] file ... -lsunmath -lm [ library ... ]

#include <sunmath.h>

double aint(double x);

double anint(double x);

int irint(double x);

int nint(double x);

機能説明

aint() および anint() は、倍精度の値を double 形式の整数値に変換します。 この 2 つは、引数が整数的でないときの結果が異なります。 この場合の「整数的」とは数学的整数の値を指しますが、 値が大きすぎて特定のコンピュータの int 形式に納まらない場合があります。 ある特定の浮動小数点形式においては、十分に大きな値はすべて整数的です。 IEEE 倍精度形式の場合、>= 2**52 を満たす値がすべて整数的です。 ゼロ、無限大、シグナルを発生しない NaN については、 上記の関数は、これらの値を整数的とみなします。 そのとき、引数の符号は常に保持されます。

aint() は、 x と 0 の間で x に最も近い整数値を返します。 この関数は、 IEEE のゼロ方向丸め、および FORTRAN の一般組み込み関数 aint に相当します。

anint() は、 x に最も近い整数値を返します。 ただし例外として、ちょうど中間にある値は絶対値が大きい方の整数値に丸めます。 この関数は、FORTRAN の一般組み込み関数 anint に相当します。

irint() は、現在の IEEE 丸め方向に従って x を int に変換します。

nint() は、 x を int に変換し、最も近い整数値に丸めます。 ただし例外として、 ちょうど中間にある値は絶対値の大きい方の整数値に丸めます。 この関数は、FORTRAN の一般組み込み関数 nint に相当します。

関連項目
floor(3M)