Oracle Solaris Studio 12.4 Man Pages

Exit Print View

Updated: January 2015
 
 

irint(3M)

Name

aint , aintf , aintl , anint , anintf , anintl , irint , irintf , irintl , nint , nintf , nintl - 舍入到浮点或整数格式的整数值

Synopsis

cc [ flag ... ] file ...  -lsunmath -lm [ library ... ]
#include <sunmath.h>
double aint(double x);
float aintf(float x);
long double aintl(long double x);
double anint(double x);
float anintf(float x);
long double anintl(long double x);
int irint(double x);
int irintf(float x);
int irintl(long double x);
int nint(double x);
int nintf(float x);
int nintl(long double x);

Description

这些函数将浮点值 x 舍入到最接近 x 的一个整数。

aint(x) 返回等于最接近的整数并且绝对值不大于 x 的浮点数值。如果 x 为 NaN,则 aint(x) 返回 NaN。如果 x 是无穷大,或者本身就是一个整数,则 aint(x) 返回 x。否则,结果的符号与 x 相同。aint() 等效于 Fortran 内部函数 AINT()。它也等效于 C99 函数 trunc(),但是,当 x 不是整数时,aint() 始终会引发不准确的异常,而 trunc() 则不需要。

anint(x) 返回等于与 x 最接近的整数的浮点数;如果 x 恰好在两个整数中间,则 anint(x) 返回两个数中绝对值较大的数。如果 x 为 NaN,则 anint(x) 返回 NaN。如果 x 是无穷大,或者本身就是一个整数,则 anint(x) 返回 x。否则,结果的符号与 x 相同。anint() 等效于 Fortran 内部函数 ANINT()。它也等效于 C99 函数 round(),但是,当 x 不是整数时,anint() 始终会引发不准确的异常,而 round() 则不需要。

irint(x) 根据当前的舍入方向模式将 x 舍入到最接近的整数,并将结果转换为 int。如果 x 为 NaN、无穷大或者大到最接近的整数将超出 int 类型的范围,则将发生无效操作异常。

nint(x)x 舍入到最接近的整数并将结果转换为 int;如果 x 恰好在两个整数中间,则 nint(x) 将选择两个数中绝对值较大的数。如果 x 为 NaN、无穷大或者大到最接近的整数将超出 int 类型的范围,则将发生无效操作异常。nint() 等效于 Fortran 内部函数 NINT()

Attributes

有关下列属性的说明,请参见 attributes(5):

属性类型
属性值
接口稳定性
Committed(已确定)
MT 级别
MT-Safe(MT 安全)

See also

ceil(3M)、floor(3M)、llrint(3M)、llround(3M)、lrint(3M)、lround(3M)、nearbyint(3M)、rint(3M)、round(3M)、trunc(3M)、attributes(5)